Giter Club home page Giter Club logo

eapa's Introduction

eapa

Erlang/Elixir Arbitrary Precision Arithmetic

release: make up && make rel or rebar3 as prod release

test: make tests or rebar3 as test ct

rebar deps for external projects:

{deps, [
  {eapa, "", {git, "https://github.com/Vonmo/eapa.git", {tag, "v0.1.2"}}}
]}.  

mix deps (Elixir):

defp deps do
 [
   {:eapa, git: "https://github.com/Vonmo/eapa.git", tag: "v0.1.2"}      
 ]
end

Introduction

Most of modern microprocessors are made with a hardware implementation of real number representation in IEEE754. The number length is limited by the format, and rounding modes influence precision. Programmers are often unable to change the behaviour of equipment, or languages implementation. For example, the official implementation of Erlang stores float in 3 words on a 64-bit machine and in 4 words on a 32-bit one.

IEEE754 numbers are an infinite set represented as finite. That's why every operand can be misrepresented in IEEE754.

Most numbers when represented as a finite set have stable minimal relative error. For instance, it is 11,920928955078125e-6% for a float and 2,2204460492503130808472633361816e-14% for a double. Most programmers can afford to neglect such an error, though it should be mentioned that you can be caught in the same trap because the rate of an absolute error might be up to 10^31 and 10^292 for a float and a double respectively. It can be troublesome for your computing.

EAPA

EAPA is a NIF extension written on Rust. So far, in EAPA repository there is an eapa_int interface. It is as simple as possible, as well as the most convenient. This interface is used for working with fixed-point numbers. Among its main features are:

  1. No effects of IEEE754 encoding
  2. Big numbers support
  3. Customized precision up to 126 decimal places (current realization)
  4. Autoscaling
  5. Support of all main numerical operations
  6. More or less complete testing, including property based one

eapa_int interface

  • with_val/2 – conversion from a float into a fixed-point representation which can be safely used with json and xml.
  • to_float/2 – conversion from a fixed-point number into a float with precision required.
  • to_float/1 – conversion from a fixed-point number into a float.
  • add/2 – sum of two numbers
  • sub/2 – difference
  • mul/2 – multiplication
  • divp/2 – division
  • min/2 – min number
  • max/2 – max number
  • eq/2 – equality
  • lt/2 – less than
  • lte/2 – less than or equals to
  • gt/2 – greater than
  • gte/2 – greater than or equals to

Development sandbox

You can play with EAPA in Docker enviroment using make:

  • make tests - run tests
  • make lint - linter
  • make xref - xref analysis
  • make prod - generate release for target

eapa's People

Contributors

elzor avatar sztheory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

eapa's Issues

Failed to compile on MacOS Montery 12.6 with Erlang 24.2.1 (cargo 1.64.0)

Hi guys,

I'm facing this error when compiling the library:

MacOS

$ git clone https://github.com/Vonmo/eapa.git && cd eapa
$ git checkout -b 0.2.0
$ rebar3 compile
[...]
=> Errors loading plugin rebar3_run. Run rebar3 with DEBUG=1 set to see errors.
===> Fetching rebar3_appup_plugin v2.4.4
===> Fetching bbmustache v1.5.0
===> Fetching string_compat v0.0.1
===> Analyzing applications...
===> Compiling string_compat
===> Compiling bbmustache
===> Compiling rebar3_appup_plugin
===> Fetching rebar3_vendor v0.4.0
===> Analyzing applications...
===> Compiling rebar3_vendor
ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Users/zab/.erl/24.2.1/lib/erl_interface-5.1/lib/libei.a, building for macOS-i386 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd (3 slices)
ld: dynamic executables or dylibs must link with libSystem.dylib for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ubuntu 20.04 LTS

$ git clone https://github.com/Vonmo/eapa.git && cd eapa
$ git checkout -b 0.2.0
$ rebar3 compile
[...]
===> Verifying dependencies...
   Compiling libc v0.2.66
   Compiling cfg-if v0.1.10
   Compiling proc-macro2 v1.0.7
   Compiling unicode-xid v0.2.0
   Compiling cc v1.0.50
   Compiling syn v1.0.13
   Compiling failure_derive v0.1.6
   Compiling proc-macro2 v0.4.30
   Compiling rustc-demangle v0.1.16
   Compiling unicode-xid v0.1.0
   Compiling syn v0.15.44
   Compiling unicode-segmentation v1.6.0
   Compiling lazy_static v1.4.0
   Compiling rustler_sys v2.0.0
   Compiling void v1.0.2
   Compiling rug v1.6.0
   Compiling unreachable v0.1.1
   Compiling heck v0.3.1
   Compiling quote v1.0.2
error: failed to run custom build command for `rustler_sys v2.0.0`

Caused by:
  process didn't exit successfully: `/home/zab/eapa/crates/eapa/target/release/build/rustler_sys-15284ac56a380485/build-script-build` (exit status: 101)
  --- stdout
  This OTP release uses the unsupported Erlang NIF version "2.16".

  Please report at https://github.com/rustlerium/rustler.

  --- stderr
  thread 'main' panicked at 'gen_api.erl encountered an error.', /home/zab/.cargo/registry/src/github.com-1ecc6299db9ec823/rustler_sys-2.0.0/build.rs:34:18
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
===> Hook for compile failed!

Help appreciated

Unable to compile on OSX Mojave

Running into an issue when attempting to compile this. This could very well be something that I'm doing incorrectly though.. the following is the output when I execute ./rebar3 as prod release. Is x86_64 supported here or do I need to modify the build parameters?

Any guidance would be greatly appreciated.

⋊> ~/P/b/d/eapa on 9e06817 ⨯ ./rebar3 as prod release                                                                                                                                     21:45:44
===> Verifying dependencies...
===> Compiling eapa
    Updating crates.io index
 Downloading crates ...
  Downloaded erlang_nif-sys v0.6.4
  Downloaded rug v1.2.1
  Downloaded lazy_static v1.1.0
  Downloaded unreachable v0.1.1
  Downloaded rustler v0.18.0
  Downloaded version_check v0.1.5
  Downloaded void v1.0.2
  Downloaded gmp-mpfr-sys v1.1.9
  Downloaded libc v0.2.43
   Compiling version_check v0.1.5
   Compiling erlang_nif-sys v0.6.4
   Compiling gmp-mpfr-sys v1.1.9
   Compiling void v1.0.2
   Compiling rug v1.2.1
   Compiling libc v0.2.43
   Compiling unreachable v0.1.1
   Compiling lazy_static v1.1.0
   Compiling rustler v0.18.0
   Compiling eapa v0.1.0 (/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/usr/local/Cellar/rust/1.31.1/lib/rustlib/x86_64-apple-darwin/lib" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.0.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.1.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.10.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.11.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.12.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.13.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.14.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.15.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.2.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.3.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.4.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.5.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.6.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.7.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.8.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.eapa.23g1pbmw-cgu.9.rcgu.o" "-o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/libeapa.dylib" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.589xbnigunn0hqrp.rcgu.o" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps/eapa.gww6trbh43k9zp2.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/deps" "-L" "/Users/dinsley/Projects/skeleton/deps/eapa/crates/eapa/target/release/build/gmp-mpfr-sys-5e7dce39f0602651/out/lib" "-L" "/usr/local/Cellar/rust/1.31.1/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/librustler-7dab9d1aea47aa2b.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liberlang_nif_sys-47b4b404ecaa12be.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/librug-ecdd9ab5bcd3d36b.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libgmp_mpfr_sys-e0cbbcd16d879ad3.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liblibc-9704035f8461983e.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liblazy_static-63cb2f0b50ed6b5a.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libstd-6b57fd61cd62a588.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libpanic_unwind-0fd33fe10acc827e.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libunwind-a1308a114ba05de5.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liballoc_system-3e67cc8956e0da02.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liblibc-8114047fd2df354d.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/liballoc-6493ca37c5cd5a82.rlib" "-Wl,-force_load" "-Wl,/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libcore-f49e31ff7e447457.rlib" "/var/folders/nm/hwqvqz9s3v9ft457htzx85dm0000gn/T/rustcI04mNO/libcompiler_builtins-90aa8d938cda7041.rlib" "-lSystem" "-lresolv" "-lpthread" "-lc" "-lm" "-dynamiclib" "-Wl,-dylib"
  = note: Undefined symbols for architecture x86_64:
            "_enif_make_badarg", referenced from:
                rustler::error::Error::encode::hf06d616982caf940 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.9.rcgu.o)
            "_enif_consume_timeslice", referenced from:
                rustler::schedule::consume_timeslice::h4776d1751539003e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.9.rcgu.o)
            "_enif_make_binary", referenced from:
                rustler::types::binary::OwnedBinary::release::hf44414c5a86de4af in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::Binary::from_owned::h1e22e97716d6f00e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$$RF$$u27$a$u20$str$GT$::encode::h2b4298a6e6c39766 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$str$GT$::encode::hc2776f649bd63746 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
            "_enif_realloc_binary", referenced from:
                rustler::types::binary::OwnedBinary::realloc::h0e20e970e2f3c956 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::OwnedBinary::realloc_or_copy::h29474b46383febc1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
            "_enif_alloc_binary", referenced from:
                rustler::types::binary::OwnedBinary::new::h1d659b1365ab4645 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::OwnedBinary::from_unowned::h93c8846483545f5a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::OwnedBinary::realloc_or_copy::h29474b46383febc1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$$RF$$u27$a$u20$str$GT$::encode::h2b4298a6e6c39766 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$str$GT$::encode::hc2776f649bd63746 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
            "_enif_snprintf", referenced from:
                rustler::wrapper::term::fmt::h682a464f872d45d9 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.5.rcgu.o)
            "_enif_compare", referenced from:
                _$LT$rustler..term..Term$LT$$u27$a$GT$$u20$as$u20$core..cmp..Ord$GT$::cmp::h8f1d84a00a91b1be in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_is_identical", referenced from:
                _$LT$rustler..term..Term$LT$$u27$a$GT$$u20$as$u20$core..cmp..PartialEq$GT$::eq::hf1788a0e3adbac61 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_term_to_binary", referenced from:
                rustler::term::Term::to_binary::h496b20aed6ce9d50 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_make_list_cell", referenced from:
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::list_prepend::h4ca7ca1d340e8a15 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_make_map_update", referenced from:
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_update::h1bccada51f0f65eb in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_get_list_cell", referenced from:
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::list_get_cell::h00feb6672c448592 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                _$LT$rustler..types..list..ListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h7b3b8d57f70666df in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_get_list_length", referenced from:
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::list_length::h0ad0db37a5c0e0d3 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_get_double", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$f64$GT$::decode::h1a637f69ce8e49bc in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$f32$GT$::decode::h08d52a0cd397d061 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_make_double", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$f64$GT$::encode::hbee0c2a0a948ec7f in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$f32$GT$::encode::hcc7a993c210c5ac0 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_get_atom_length", referenced from:
                rustler::wrapper::atom::get_atom::h9f834032e389dc7f in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.8.rcgu.o)
            "_enif_is_number", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_number::h51311c92e4d42ad1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_get_ulong", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$u64$GT$::decode::haa14ec72a7dec316 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_make_ulong", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$u64$GT$::encode::hec5f8b9313dca639 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_get_long", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$i64$GT$::decode::h15ec2007cbf467f1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_make_sub_binary", referenced from:
                rustler::types::binary::Binary::make_subbinary::h92de5b065c9ce961 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
            "_enif_is_atom", referenced from:
                rustler::types::elixir_struct::get_ex_struct_name::h2e21537f3ec6ef70 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_atom::hae9f909b26abee7e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                rustler::types::atom::Atom::from_term::hf86d74e9e5ed5792 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_get_uint", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$u32$GT$::decode::hc6e88c7aaf4c634c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$u8$GT$::decode::h609332880749d9e5 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$u16$GT$::decode::h7f83259e064ab8d5 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_make_list_from_array", referenced from:
                rustler::wrapper::list::make_list::h778c5313942f50a1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::list::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$$u5b$T$u5d$$GT$::encode::he24d1d90d5e0ce87 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_make_int", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$i32$GT$::encode::h47ab31d6f921bd80 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$i8$GT$::encode::h78024e78be70163a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$i16$GT$::encode::h8c2c0f73182832ab in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_alloc_env", referenced from:
                rustler::env::OwnedEnv::new::hd25231776c2395f1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::h8096c866327b2565 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_is_list", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::into_list_iterator::hef8c408c485068a6 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_list::hc169fd59fa7b8f0d in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                _$LT$rustler..types..list..ListIterator$LT$$u27$a$GT$$u20$as$u20$rustler..types..Decoder$LT$$u27$a$GT$$GT$::decode::h9f885714fee4c7ce in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_is_map", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_map::h82099d3c3f7c91a7 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_self", referenced from:
                rustler::types::pid::_$LT$impl$u20$rustler..env..Env$LT$$u27$a$GT$$GT$::pid::hd3a5be93dca67017 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::env::Env::send::hba1173911a3b98d7 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_get_int", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$i32$GT$::decode::h540b31efb6520c6a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$i8$GT$::decode::h29f9c9a1d0756a91 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$i16$GT$::decode::hcb383d904c97875a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_get_tuple", referenced from:
                rustler::wrapper::tuple::get_tuple::h8a0eb1d30db75b28 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::tuple::get_tuple::h213cb885dd20801e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::types::tuple::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$$LP$$RP$$GT$::decode::h36e0af7d82632b10 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_is_pid", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_pid::hc1676687564b0c84 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_free_env", referenced from:
                _$LT$rustler..env..OwnedEnv$u20$as$u20$core..ops..drop..Drop$GT$::drop::hddefc106e56e0ac5 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::h8096c866327b2565 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
                core::ptr::drop_in_place::ha3552729f56509c4 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_get_atom", referenced from:
                rustler::wrapper::atom::get_atom::h9f834032e389dc7f in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.8.rcgu.o)
            "_enif_is_empty_list", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::into_list_iterator::hef8c408c485068a6 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_empty_list::h822424a3063ae1e5 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                _$LT$rustler..types..list..ListIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h7b3b8d57f70666df in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
                _$LT$rustler..types..list..ListIterator$LT$$u27$a$GT$$u20$as$u20$rustler..types..Decoder$LT$$u27$a$GT$$GT$::decode::h9f885714fee4c7ce in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_is_ref", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_ref::h397cba159be43b6e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_is_fun", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_fun::hfd652241a7a2a02a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_get_local_pid", referenced from:
                _$LT$rustler..types..pid..Pid$u20$as$u20$rustler..types..Decoder$LT$$u27$a$GT$$GT$::decode::h59f10f49e5c73511 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
            "_enif_make_map_put", referenced from:
                rustler::types::elixir_struct::make_ex_struct::h17f038e0ba7b52a0 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_put::h8575f2dd9d966f55 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_make_map_remove", referenced from:
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_remove::h1055f89b857de3a6 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_send", referenced from:
                rustler::wrapper::nif_interface::enif_send::haa86b501a4803867 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
                rustler::env::Env::send::hba1173911a3b98d7 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_get_map_value", referenced from:
                rustler::types::elixir_struct::get_ex_struct_name::h2e21537f3ec6ef70 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_get::h4c06faaa3493ce37 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_make_tuple_from_array", referenced from:
                rustler::wrapper::tuple::make_tuple::hd226dcb3b467e39e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::tuple::make_tuple::h139a4a1ad8eb7e29 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::types::tuple::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$$LP$$RP$$GT$::encode::h3f13e828bee1d89c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_thread_type", referenced from:
                rustler::wrapper::nif_interface::enif_thread_type::h8ba5015c5013fb18 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
                rustler::env::Env::send::hba1173911a3b98d7 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_map_iterator_get_pair", referenced from:
                _$LT$rustler..types..map..MapIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h06b85cdb6e70f558 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_inspect_binary", referenced from:
                rustler::types::binary::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::into_binary::h4b2db78b61bc56e7 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                rustler::types::binary::Binary::make_subbinary::h92de5b065c9ce961 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                _$LT$rustler..types..binary..Binary$LT$$u27$a$GT$$u20$as$u20$rustler..types..Decoder$LT$$u27$a$GT$$GT$::decode::hf40062441961fe79 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$$RF$$u27$a$u20$str$GT$::decode::he13590b8f0fc9bee in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
                rustler::types::string::_$LT$impl$u20$rustler..types..Decoder$LT$$u27$a$GT$$u20$for$u20$alloc..string..String$GT$::decode::h3319ecfd5e1a8ab5 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.9.rcgu.o)
            "_enif_make_long", referenced from:
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$i64$GT$::encode::h8aab62fcf3d31b6a in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_map_iterator_destroy", referenced from:
                _$LT$rustler..types..map..MapIterator$LT$$u27$a$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h8a1bc36d0e966e57 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_make_new_map", referenced from:
                rustler::types::map::map_new::hcd6266b275e990a1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
                rustler::types::elixir_struct::make_ex_struct::h17f038e0ba7b52a0 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.12.rcgu.o)
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_new::h6e84970083f0964d in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_binary_to_term", referenced from:
                rustler::env::Env::binary_to_term::h575bd36ae6baa777 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::env::Env::binary_to_term_trusted::h1f04f70d94df065d in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_open_resource_type", referenced from:
                rustler::wrapper::resource::open_resource_type::h3dbb7e6e513ffbfd in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_get_map_size", referenced from:
                rustler::types::map::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::map_size::hae31fe6964c70152 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_map_iterator_create", referenced from:
                rustler::types::map::MapIterator::new::h4f0376b4c2a53362 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
                _$LT$rustler..types..map..MapIterator$LT$$u27$a$GT$$u20$as$u20$rustler..types..Decoder$LT$$u27$a$GT$$GT$::decode::h9782fd166dcfd8be in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_map_iterator_next", referenced from:
                _$LT$rustler..types..map..MapIterator$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h06b85cdb6e70f558 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_make_atom_len", referenced from:
                rustler::codegen_runtime::handle_nif_call::h219a09088634bc49 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::types::atom::Atom::from_bytes::hfd232ab663ffa068 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
                rustler::types::atom::Atom::from_str::hc346b3278873ea02 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.4.rcgu.o)
            "_enif_is_tuple", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_tuple::h1fbffa99d7df71d3 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_release_binary", referenced from:
                core::ptr::drop_in_place::h701008585db660e6 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                core::ptr::drop_in_place::hc3df9d7e8c1cb1bc (.llvm.3678895782539911499) in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::OwnedBinary::realloc_or_copy::h29474b46383febc1 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::OwnedBinary::release::hf44414c5a86de4af in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                _$LT$rustler..types..binary..OwnedBinary$u20$as$u20$core..ops..drop..Drop$GT$::drop::hf4ae28641c6f6794 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                rustler::types::binary::Binary::from_owned::h1e22e97716d6f00e in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
                core::ptr::drop_in_place::h701008585db660e6 (.llvm.167667364177908417) in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.7.rcgu.o)
                ...
            "_enif_make_reverse_list", referenced from:
                rustler::types::list::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::list_reverse::h5d346aa73ed35f37 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_alloc_resource", referenced from:
                rustler::wrapper::nif_interface::enif_alloc_resource::h9c32647e202ba27c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
            "_enif_make_uint", referenced from:
                _$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$::from_iter::hc84620fa5425df34 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.1.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$u32$GT$::encode::hcf366cc4d76d18d3 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$u8$GT$::encode::h27f820cf822c6c29 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
                rustler::types::primitive::_$LT$impl$u20$rustler..types..Encoder$u20$for$u20$u16$GT$::encode::h6b071f3a416ce825 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.2.rcgu.o)
            "_enif_is_binary", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_binary::h93fc96a0c9863015 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_get_resource", referenced from:
                rustler::wrapper::resource::get_resource::h6cbdc2f1cf8afecf in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.11.rcgu.o)
            "_enif_make_copy", referenced from:
                rustler::env::OwnedEnv::save::h62fb6086a10fa4cc in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                _$LT$rustler..term..Term$LT$$u27$a$GT$$u20$as$u20$rustler..types..Encoder$GT$::encode::hfe1dcafe504a5bee in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
                rustler::types::binary::Binary::to_term::hea6965ecc5b37c27 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.6.rcgu.o)
            "_enif_is_exception", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_exception::hef9718073705f767 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
            "_enif_release_resource", referenced from:
                rustler::wrapper::nif_interface::enif_release_resource::h68dfb7f5f674af1b in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
            "_enif_clear_env", referenced from:
                rustler::env::OwnedEnv::clear::h6c66e365c58e3408 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
            "_enif_keep_resource", referenced from:
                rustler::wrapper::nif_interface::enif_keep_resource::hf62a87d1bcfc6328 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
            "_enif_make_resource", referenced from:
                rustler::wrapper::nif_interface::enif_make_resource::hbaaa8c740952326d in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.10.rcgu.o)
            "_enif_raise_exception", referenced from:
                rustler::codegen_runtime::handle_nif_call::h219a09088634bc49 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.15.rcgu.o)
                rustler::error::Error::encode::hf06d616982caf940 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.9.rcgu.o)
            "_enif_is_port", referenced from:
                rustler::dynamic::get_type::h8bb9981dc1936c3c in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.14.rcgu.o)
                rustler::dynamic::_$LT$impl$u20$rustler..term..Term$LT$$u27$a$GT$$GT$::is_port::h0d908aff1af401e6 in librustler-7dab9d1aea47aa2b.rlib(rustler-7dab9d1aea47aa2b.rustler.ctcjurm9-cgu.3.rcgu.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: aborting due to previous error

error: Could not compile `eapa`.

To learn more, run the command again with --verbose.
===> Hook for compile failed!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.