[INFO] updating cached repository https://github.com/mcr431/pel [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/mcr431/pel [INFO] [stderr] 85d1a32..34a76eb master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 34a76eb5e818651201cf1088d09143685411e0a5 [INFO] checking mcr431/pel against master#73f76b74efcaf21bd5424d87c66cd6ed7fe5c7de for pr-68325 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmcr431%2Fpel" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mcr431/pel on toolchain 73f76b74efcaf21bd5424d87c66cd6ed7fe5c7de [INFO] running `"/workspace/cargo-home/bin/cargo" "+73f76b74efcaf21bd5424d87c66cd6ed7fe5c7de" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/mcr431/pel [INFO] finished tweaking git repo https://github.com/mcr431/pel [INFO] tweaked toml for git repo https://github.com/mcr431/pel written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/mcr431/pel already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+73f76b74efcaf21bd5424d87c66cd6ed7fe5c7de" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+73f76b74efcaf21bd5424d87c66cd6ed7fe5c7de" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 19d7af630a6202d54b11393ec0a9f473bf3eeebcc2fbf6c1c2bee5044d9e7598 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "19d7af630a6202d54b11393ec0a9f473bf3eeebcc2fbf6c1c2bee5044d9e7598"` [INFO] [stderr] Checking pel v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error: expected pattern, found `}` [INFO] [stderr] --> src/evaluator/prelude.rs:49:59 [INFO] [stderr] | [INFO] [stderr] 49 | Item::ObjectInstance(ObjectInstance { ty: }) => { [INFO] [stderr] | ^ expected pattern [INFO] [stderr] [INFO] [stderr] error: expected pattern, found `}` [INFO] [stderr] --> src/evaluator/prelude.rs:49:59 [INFO] [stderr] | [INFO] [stderr] 49 | Item::ObjectInstance(ObjectInstance { ty: }) => { [INFO] [stderr] | ^ expected pattern [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `main_module_reference` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:379:38 [INFO] [stderr] | [INFO] [stderr] 379 | parent: Reference::clone(main_module_reference), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `impl_sig` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:548:18 [INFO] [stderr] | [INFO] [stderr] 548 | (impl_sig.name.clone(), Value::clone(func_val)) [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `signature` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1097:33 [INFO] [stderr] | [INFO] [stderr] 1097 | if let Some(ret_type) = signature.returns { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `s` in this scope [INFO] [stderr] --> src/evaluator/prelude.rs:50:36 [INFO] [stderr] | [INFO] [stderr] 50 | println!("{}", s); [INFO] [stderr] | ^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude` [INFO] [stderr] --> src/evaluator/evaluator.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | use super::{prelude, interpreter::Interpreter}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/functions.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/objects.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/var_assignment.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `runner` [INFO] [stderr] --> src/tests/var_assignment.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | runner::run_code(code.into()); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `runner` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `main_module_reference` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:379:38 [INFO] [stderr] | [INFO] [stderr] 379 | parent: Reference::clone(main_module_reference), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `impl_sig` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:548:18 [INFO] [stderr] | [INFO] [stderr] 548 | (impl_sig.name.clone(), Value::clone(func_val)) [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `signature` in this scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1097:33 [INFO] [stderr] | [INFO] [stderr] 1097 | if let Some(ret_type) = signature.returns { [INFO] [stderr] | ^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `s` in this scope [INFO] [stderr] --> src/evaluator/prelude.rs:50:36 [INFO] [stderr] | [INFO] [stderr] 50 | println!("{}", s); [INFO] [stderr] | ^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude` [INFO] [stderr] --> src/evaluator/evaluator.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | use super::{prelude, interpreter::Interpreter}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0053]: method `kind_hash` has an incompatible type for trait [INFO] [stderr] --> src/evaluator/evaluator.rs:802:47 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------- type in trait [INFO] [stderr] ... [INFO] [stderr] 802 | fn kind_hash(&self, table: &KindTable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ expected struct `std::string::String`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected fn pointer `fn(&evaluator::evaluator::FunctionSignature, &evaluator::evaluator::KindTable) -> std::string::String` [INFO] [stderr] found fn pointer `fn(&evaluator::evaluator::FunctionSignature, &evaluator::evaluator::KindTable) -> std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0053]: method `kind_hash` has an incompatible type for trait [INFO] [stderr] --> src/evaluator/evaluator.rs:802:47 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------- type in trait [INFO] [stderr] ... [INFO] [stderr] 802 | fn kind_hash(&self, table: &KindTable) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ expected struct `std::string::String`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected fn pointer `fn(&evaluator::evaluator::FunctionSignature, &evaluator::evaluator::KindTable) -> std::string::String` [INFO] [stderr] found fn pointer `fn(&evaluator::evaluator::FunctionSignature, &evaluator::evaluator::KindTable) -> std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `long_add` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:153:33 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `long_add` not found here [INFO] [stderr] ... [INFO] [stderr] 153 | Long(_) => Self::long_add(lhs, rhs), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `double_add` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:155:33 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `double_add` not found here [INFO] [stderr] ... [INFO] [stderr] 155 | Double(_) => Self::double_add(lhs, rhs), [INFO] [stderr] | ^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | pub fn new() -> Self { [INFO] [stderr] | --- ^^^^ expected struct `evaluator::evaluator::Heap`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | pub fn alloc(&mut self) -> Address { [INFO] [stderr] | ----- ^^^^^^^ expected `u32`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:282:13 [INFO] [stderr] | [INFO] [stderr] 281 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 282 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 293 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 294 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 305 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 306 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:312:13 [INFO] [stderr] | [INFO] [stderr] 312 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:308:76 [INFO] [stderr] | [INFO] [stderr] 308 | Item::TypeReference(kind_hash) => Some(KindHash::clone(kind_hash)), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&kind_hash` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:377:19 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] ... [INFO] [stderr] 377 | Kind::Function(f) => f.kind_hash(kind_table), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:379:44 [INFO] [stderr] | [INFO] [stderr] 379 | let kind = kind_table.load(k_id); [INFO] [stderr] | ^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected struct `std::string::String`, found `&std::string::String` [INFO] [stderr] | help: try using a conversion method: `k_id.to_string()` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:380:22 [INFO] [stderr] | [INFO] [stderr] 380 | kind.kind_hash(kind_table) [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:389:65 [INFO] [stderr] | [INFO] [stderr] 389 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:411:65 [INFO] [stderr] | [INFO] [stderr] 411 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:416:111 [INFO] [stderr] | [INFO] [stderr] 416 | .map(|(type_var_name, sym_id)| kind_table.load(*sym_id).read().unwrap().kind_hash(kind_table).unwrap()) [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `long_add` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:153:33 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `long_add` not found here [INFO] [stderr] ... [INFO] [stderr] 153 | Long(_) => Self::long_add(lhs, rhs), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `double_add` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:155:33 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `double_add` not found here [INFO] [stderr] ... [INFO] [stderr] 155 | Double(_) => Self::double_add(lhs, rhs), [INFO] [stderr] | ^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | pub fn new() -> Self { [INFO] [stderr] | --- ^^^^ expected struct `evaluator::evaluator::Heap`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:432:65 [INFO] [stderr] | [INFO] [stderr] 432 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | pub fn alloc(&mut self) -> Address { [INFO] [stderr] | ----- ^^^^^^^ expected `u32`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:437:99 [INFO] [stderr] | [INFO] [stderr] 437 | .map(|(_, sym_id)| kind_table.load(*sym_id).read().unwrap().kind_hash(kind_table).unwrap()) [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:282:13 [INFO] [stderr] | [INFO] [stderr] 281 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 282 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::RwLockReadGuard<'_, std::string::String>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:454:38 [INFO] [stderr] | [INFO] [stderr] 454 | hash = p.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::RwLockReadGuard<'_, std::string::String>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 293 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 294 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `type_parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | let type_params = if !self.type_parameters.is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 305 | match self.load(addr) { [INFO] [stderr] | --------------- this expression has type `evaluator::evaluator::Item` [INFO] [stderr] 306 | Some(item) => { [INFO] [stderr] | ^^^^^^^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `type_parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:464:31 [INFO] [stderr] | [INFO] [stderr] 464 | let tp_str = self.type_parameters [INFO] [stderr] | ^^^^^^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:312:13 [INFO] [stderr] | [INFO] [stderr] 312 | None => None [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Item`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Item` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:308:76 [INFO] [stderr] | [INFO] [stderr] 308 | Item::TypeReference(kind_hash) => Some(KindHash::clone(kind_hash)), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&kind_hash` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:377:19 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] ... [INFO] [stderr] 377 | Kind::Function(f) => f.kind_hash(kind_table), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:469:56 [INFO] [stderr] | [INFO] [stderr] 469 | sym_readable.kind_hash(kind_table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:479:31 [INFO] [stderr] | [INFO] [stderr] 479 | let params = if !self.parameters.is_empty() { [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:480:18 [INFO] [stderr] | [INFO] [stderr] 480 | self.parameters [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:485:56 [INFO] [stderr] | [INFO] [stderr] 485 | sym_readable.kind_hash(kind_table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `returns` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:493:34 [INFO] [stderr] | [INFO] [stderr] 493 | let returns = match self.returns { [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:497:70 [INFO] [stderr] | [INFO] [stderr] 497 | let hash = return_sym_readable.kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:379:44 [INFO] [stderr] | [INFO] [stderr] 379 | let kind = kind_table.load(k_id); [INFO] [stderr] | ^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected struct `std::string::String`, found `&std::string::String` [INFO] [stderr] | help: try using a conversion method: `k_id.to_string()` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `name` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:504:65 [INFO] [stderr] | [INFO] [stderr] 504 | let hash = format!("func{} {}({}){}", type_params, self.name, params, returns); [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:380:22 [INFO] [stderr] | [INFO] [stderr] 380 | kind.kind_hash(kind_table) [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:389:65 [INFO] [stderr] | [INFO] [stderr] 389 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:505:9 [INFO] [stderr] | [INFO] [stderr] 462 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash { [INFO] [stderr] | -------- expected `std::string::String` because of return type [INFO] [stderr] ... [INFO] [stderr] 505 | Some(hash) [INFO] [stderr] | ^^^^^^^^^^ expected struct `std::string::String`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::string::String` [INFO] [stderr] found enum `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:411:65 [INFO] [stderr] | [INFO] [stderr] 411 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:519:46 [INFO] [stderr] | [INFO] [stderr] 519 | pub fn load(&self, to_load: KindHash) -> Arc> { [INFO] [stderr] | ---- ^^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found unit type `()` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:416:111 [INFO] [stderr] | [INFO] [stderr] 416 | .map(|(type_var_name, sym_id)| kind_table.load(*sym_id).read().unwrap().kind_hash(kind_table).unwrap()) [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_symbol_by_name` found for struct `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Environment>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:605:46 [INFO] [stderr] | [INFO] [stderr] 605 | Some(ref p) => p.read().unwrap().get_symbol_by_name(name), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `get_value_by_name` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:432:65 [INFO] [stderr] | [INFO] [stderr] 432 | let hash = parent.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:437:99 [INFO] [stderr] | [INFO] [stderr] 437 | .map(|(_, sym_id)| kind_table.load(*sym_id).read().unwrap().kind_hash(kind_table).unwrap()) [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:778:23 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 778 | if !Kind::is_a(*s2, *s1, table) { [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::RwLockReadGuard<'_, std::string::String>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:454:38 [INFO] [stderr] | [INFO] [stderr] 454 | hash = p.read().unwrap().kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::RwLockReadGuard<'_, std::string::String>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:784:23 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 784 | if !Kind::is_a(*s2, *s1, table) { [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `type_parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | let type_params = if !self.type_parameters.is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:791:30 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 791 | return Kind::is_a(other_ret_id, ret_id, table); [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `type_parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:464:31 [INFO] [stderr] | [INFO] [stderr] 464 | let tp_str = self.type_parameters [INFO] [stderr] | ^^^^^^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:469:56 [INFO] [stderr] | [INFO] [stderr] 469 | sym_readable.kind_hash(kind_table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:479:31 [INFO] [stderr] | [INFO] [stderr] 479 | let params = if !self.parameters.is_empty() { [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:809:51 [INFO] [stderr] | [INFO] [stderr] 809 | sym_readable.kind_hash(table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `parameters` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:480:18 [INFO] [stderr] | [INFO] [stderr] 480 | self.parameters [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:485:56 [INFO] [stderr] | [INFO] [stderr] 485 | sym_readable.kind_hash(kind_table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `returns` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:493:34 [INFO] [stderr] | [INFO] [stderr] 493 | let returns = match self.returns { [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:825:51 [INFO] [stderr] | [INFO] [stderr] 825 | sym_readable.kind_hash(table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:497:70 [INFO] [stderr] | [INFO] [stderr] 497 | let hash = return_sym_readable.kind_hash(kind_table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:837:65 [INFO] [stderr] | [INFO] [stderr] 837 | let hash = return_sym_readable.kind_hash(table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `name` on type `&evaluator::evaluator::Function` [INFO] [stderr] --> src/evaluator/evaluator.rs:504:65 [INFO] [stderr] | [INFO] [stderr] 504 | let hash = format!("func{} {}({}){}", type_params, self.name, params, returns); [INFO] [stderr] | ^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `signature`, `body`, `environment` [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:73:41 [INFO] [stderr] | [INFO] [stderr] 73 | let mut kind_table = KindTable::new(); [INFO] [stderr] | ^^^ function or associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- function or associated item `new` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:74:61 [INFO] [stderr] | [INFO] [stderr] 74 | let main_mod_kind = kind_table.load_kind(KindTable::MAIN_MODULE_SYMBOL_ID); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0063]: missing field `heap` in initializer of `evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | Self { [INFO] [stderr] | ^^^^ missing `heap` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:505:9 [INFO] [stderr] | [INFO] [stderr] 462 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash { [INFO] [stderr] | -------- expected `std::string::String` because of return type [INFO] [stderr] ... [INFO] [stderr] 505 | Some(hash) [INFO] [stderr] | ^^^^^^^^^^ expected struct `std::string::String`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::string::String` [INFO] [stderr] found enum `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/evaluator.rs:519:46 [INFO] [stderr] | [INFO] [stderr] 519 | pub fn load(&self, to_load: KindHash) -> Arc> { [INFO] [stderr] | ---- ^^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found unit type `()` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_symbol_by_name` found for struct `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Environment>` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:605:46 [INFO] [stderr] | [INFO] [stderr] 605 | Some(ref p) => p.read().unwrap().get_symbol_by_name(name), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: there is a method with a similar name: `get_value_by_name` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 102 | fn get_obj_method_with_name(&self, obj: &Object, name: &String) -> Option { [INFO] [stderr] | ------------- expected `std::option::Option` because of return type [INFO] [stderr] ... [INFO] [stderr] 108 | / for (_, vtable_id) in obj.vtables.iter() { [INFO] [stderr] 109 | | let vtable = self.vtables.load_vtable(*vtable_id); [INFO] [stderr] 110 | | let vtable_readable = vtable.read().unwrap(); [INFO] [stderr] 111 | | [INFO] [stderr] ... | [INFO] [stderr] 115 | | } [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ expected enum `std::option::Option`, found `()` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::option::Option` [INFO] [stderr] found unit type `()` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:778:23 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 778 | if !Kind::is_a(*s2, *s1, table) { [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:784:23 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 784 | if !Kind::is_a(*s2, *s1, table) { [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `is_a` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:791:30 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `is_a` not found here [INFO] [stderr] ... [INFO] [stderr] 791 | return Kind::is_a(other_ret_id, ret_id, table); [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] [INFO] [stderr] error[E0277]: `syntax::parse_tree::Expression` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:149:60 [INFO] [stderr] | [INFO] [stderr] 149 | let message = format!("Cannot assign to a {}", expr); [INFO] [stderr] | ^^^^ `syntax::parse_tree::Expression` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `syntax::parse_tree::Expression` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `&syntax::parse_tree::Expression` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:809:51 [INFO] [stderr] | [INFO] [stderr] 809 | sym_readable.kind_hash(table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:140:67 [INFO] [stderr] | [INFO] [stderr] 140 | fn resolve_value(&mut self, expr: &parse_tree::Expression) -> Address { [INFO] [stderr] | ------------- ^^^^^^^ expected `u32`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Value` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:233:78 [INFO] [stderr] | [INFO] [stderr] 233 | ... panic!("variant type must be a kind but got {}", v); [INFO] [stderr] | ^ `evaluator::evaluator::Value` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Value` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:245:32 [INFO] [stderr] | [INFO] [stderr] 245 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:825:51 [INFO] [stderr] | [INFO] [stderr] 825 | sym_readable.kind_hash(table).unwrap() [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:254:33 [INFO] [stderr] | [INFO] [stderr] 254 | let enu_kind_hash = enu.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/evaluator.rs:837:65 [INFO] [stderr] | [INFO] [stderr] 837 | let hash = return_sym_readable.kind_hash(table).unwrap(); [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:267:58 [INFO] [stderr] | [INFO] [stderr] 267 | (vd.name.clone(), Item::EnumInstance(initialized_enum)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::EnumInstance` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::EnumInstance` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `string_value` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:270:95 [INFO] [stderr] | [INFO] [stderr] 270 | let enu_kind_hash = self.heap.load(args[0].to_ref().unwrap().address).string_value(); [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `string_value` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `new` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:73:41 [INFO] [stderr] | [INFO] [stderr] 73 | let mut kind_table = KindTable::new(); [INFO] [stderr] | ^^^ function or associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- function or associated item `new` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:74:61 [INFO] [stderr] | [INFO] [stderr] 74 | let main_mod_kind = kind_table.load_kind(KindTable::MAIN_MODULE_SYMBOL_ID); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0063]: missing field `heap` in initializer of `evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | Self { [INFO] [stderr] | ^^^^ missing `heap` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `string_value` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:273:62 [INFO] [stderr] | [INFO] [stderr] 273 | let variant_name = variant_name_item.string_value(); [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `string_value` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_scalar` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:275:55 [INFO] [stderr] | [INFO] [stderr] 275 | let does_contain_ty = args[2].to_scalar().unwrap().to_bool().unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_scalar` not found for this [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `evaluator::evaluator::Item` [INFO] [stderr] --> src/evaluator/interpreter.rs:282:48 [INFO] [stderr] | [INFO] [stderr] 282 | ... if contains_ref.ty != contains_kind_hash { [INFO] [stderr] | ^^ no implementation for `std::string::String == evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq` is not implemented for `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 102 | fn get_obj_method_with_name(&self, obj: &Object, name: &String) -> Option { [INFO] [stderr] | ------------- expected `std::option::Option` because of return type [INFO] [stderr] ... [INFO] [stderr] 108 | / for (_, vtable_id) in obj.vtables.iter() { [INFO] [stderr] 109 | | let vtable = self.vtables.load_vtable(*vtable_id); [INFO] [stderr] 110 | | let vtable_readable = vtable.read().unwrap(); [INFO] [stderr] 111 | | [INFO] [stderr] ... | [INFO] [stderr] 115 | | } [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ expected enum `std::option::Option`, found `()` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::option::Option` [INFO] [stderr] found unit type `()` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:285:55 [INFO] [stderr] | [INFO] [stderr] 285 | ... contains_kind_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ `evaluator::evaluator::Item` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:290:51 [INFO] [stderr] | [INFO] [stderr] 290 | ... Some(Reference::clone(contains_ref)) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&evaluator::evaluator::Reference`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] | help: consider borrowing here: `&contains_ref` [INFO] [stderr] [INFO] [stderr] error[E0277]: `syntax::parse_tree::Expression` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:149:60 [INFO] [stderr] | [INFO] [stderr] 149 | let message = format!("Cannot assign to a {}", expr); [INFO] [stderr] | ^^^^ `syntax::parse_tree::Expression` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `syntax::parse_tree::Expression` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `&syntax::parse_tree::Expression` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:140:67 [INFO] [stderr] | [INFO] [stderr] 140 | fn resolve_value(&mut self, expr: &parse_tree::Expression) -> Address { [INFO] [stderr] | ------------- ^^^^^^^ expected `u32`, found `()` [INFO] [stderr] | | [INFO] [stderr] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Value` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:233:78 [INFO] [stderr] | [INFO] [stderr] 233 | ... panic!("variant type must be a kind but got {}", v); [INFO] [stderr] | ^ `evaluator::evaluator::Value` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Value` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:245:32 [INFO] [stderr] | [INFO] [stderr] 245 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:298:53 [INFO] [stderr] | [INFO] [stderr] 298 | ... variant: (variant_name, contains), [INFO] [stderr] | ^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::option::Option` [INFO] [stderr] found enum `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:254:33 [INFO] [stderr] | [INFO] [stderr] 254 | let enu_kind_hash = enu.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0560]: struct `evaluator::evaluator::NativeFunction` has no field named `args` [INFO] [stderr] --> src/evaluator/interpreter.rs:316:25 [INFO] [stderr] | [INFO] [stderr] 316 | args: Vec::new(), [INFO] [stderr] | ^^^^ `evaluator::evaluator::NativeFunction` does not have this field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `name`, `func` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:267:58 [INFO] [stderr] | [INFO] [stderr] 267 | (vd.name.clone(), Item::EnumInstance(initialized_enum)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::EnumInstance` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::EnumInstance` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `string_value` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:270:95 [INFO] [stderr] | [INFO] [stderr] 270 | let enu_kind_hash = self.heap.load(args[0].to_ref().unwrap().address).string_value(); [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `string_value` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `string_value` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:273:62 [INFO] [stderr] | [INFO] [stderr] 273 | let variant_name = variant_name_item.string_value(); [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `string_value` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:317:31 [INFO] [stderr] | [INFO] [stderr] 269 | let enum_constructor = |interp: &mut Interpreter, args: Vec| { [INFO] [stderr] | ____________________________________________- [INFO] [stderr] 270 | | let enu_kind_hash = self.heap.load(args[0].to_ref().unwrap().address).string_value(); [INFO] [stderr] 271 | | [INFO] [stderr] 272 | | let variant_name_item = self.heap.load(args[1].to_ref().unwrap().address); [INFO] [stderr] ... | [INFO] [stderr] 311 | | self.stack.push(Value::Reference(reference)); [INFO] [stderr] 312 | | }; [INFO] [stderr] | |_____________________- the found closure [INFO] [stderr] ... [INFO] [stderr] 317 | func: enum_constructor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected fn pointer, found closure [INFO] [stderr] | [INFO] [stderr] = note: expected fn pointer `for<'r> fn(&'r mut evaluator::interpreter::Interpreter, std::vec::Vec) -> std::option::Option` [INFO] [stderr] found closure `[closure@src/evaluator/interpreter.rs:269:44: 312:22 self:_]` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_scalar` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:275:55 [INFO] [stderr] | [INFO] [stderr] 275 | let does_contain_ty = args[2].to_scalar().unwrap().to_bool().unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_scalar` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NativeFunction` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:320:45 [INFO] [stderr] | [INFO] [stderr] 320 | (vd.name.clone(), Kind::NativeFunction(nat_func)) [INFO] [stderr] | ^^^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `NativeFunction` not found here [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `std::string::String` with `evaluator::evaluator::Item` [INFO] [stderr] --> src/evaluator/interpreter.rs:282:48 [INFO] [stderr] | [INFO] [stderr] 282 | ... if contains_ref.ty != contains_kind_hash { [INFO] [stderr] | ^^ no implementation for `std::string::String == evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq` is not implemented for `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:285:55 [INFO] [stderr] | [INFO] [stderr] 285 | ... contains_kind_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ `evaluator::evaluator::Item` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:290:51 [INFO] [stderr] | [INFO] [stderr] 290 | ... Some(Reference::clone(contains_ref)) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&evaluator::evaluator::Reference`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] | help: consider borrowing here: `&contains_ref` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:329:33 [INFO] [stderr] | [INFO] [stderr] 329 | self.stack.push(KindHash::clone(&enu_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:331:49 [INFO] [stderr] | [INFO] [stderr] 331 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variant_values` on type `std::sync::RwLockWriteGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:339:22 [INFO] [stderr] | [INFO] [stderr] 339 | enu_writable.variant_values = variant_values; [INFO] [stderr] | ^^^^^^^^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `methods` on type `std::sync::RwLockWriteGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:340:22 [INFO] [stderr] | [INFO] [stderr] 340 | enu_writable.methods = methods; [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:298:53 [INFO] [stderr] | [INFO] [stderr] 298 | ... variant: (variant_name, contains), [INFO] [stderr] | ^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::option::Option` [INFO] [stderr] found enum `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:379:21 [INFO] [stderr] | [INFO] [stderr] 379 | parent: Reference::clone(main_module_reference), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `std::string::String`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] [INFO] [stderr] error[E0560]: struct `evaluator::evaluator::NativeFunction` has no field named `args` [INFO] [stderr] --> src/evaluator/interpreter.rs:316:25 [INFO] [stderr] | [INFO] [stderr] 316 | args: Vec::new(), [INFO] [stderr] | ^^^^ `evaluator::evaluator::NativeFunction` does not have this field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `name`, `func` [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::collections::HashMap` cannot be built from an iterator over elements of type `(std::string::String, evaluator::evaluator::Value)` [INFO] [stderr] --> src/evaluator/interpreter.rs:376:14 [INFO] [stderr] | [INFO] [stderr] 376 | .collect(); [INFO] [stderr] | ^^^^^^^ value of type `std::collections::HashMap` cannot be built from `std::iter::Iterator` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator<(std::string::String, evaluator::evaluator::Value)>` is not implemented for `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:387:33 [INFO] [stderr] | [INFO] [stderr] 387 | let obj_kind_hash = obj.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:393:33 [INFO] [stderr] | [INFO] [stderr] 393 | self.stack.push(KindHash::clone(&obj_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_object` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:400:39 [INFO] [stderr] | [INFO] [stderr] 400 | let obj_arc = self.kind_table.load_object(obj_kind_hash); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_object` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:407:44 [INFO] [stderr] | [INFO] [stderr] 407 | let item = Item::TypeReference(obj.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:432:32 [INFO] [stderr] | [INFO] [stderr] 432 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:439:43 [INFO] [stderr] | [INFO] [stderr] 439 | let contract_kind_hash = contract.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:445:37 [INFO] [stderr] | [INFO] [stderr] 445 | self.stack.push(KindHash::clone(&contract_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:317:31 [INFO] [stderr] | [INFO] [stderr] 269 | let enum_constructor = |interp: &mut Interpreter, args: Vec| { [INFO] [stderr] | ____________________________________________- [INFO] [stderr] 270 | | let enu_kind_hash = self.heap.load(args[0].to_ref().unwrap().address).string_value(); [INFO] [stderr] 271 | | [INFO] [stderr] 272 | | let variant_name_item = self.heap.load(args[1].to_ref().unwrap().address); [INFO] [stderr] ... | [INFO] [stderr] 311 | | self.stack.push(Value::Reference(reference)); [INFO] [stderr] 312 | | }; [INFO] [stderr] | |_____________________- the found closure [INFO] [stderr] ... [INFO] [stderr] 317 | func: enum_constructor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ expected fn pointer, found closure [INFO] [stderr] | [INFO] [stderr] = note: expected fn pointer `for<'r> fn(&'r mut evaluator::interpreter::Interpreter, std::vec::Vec) -> std::option::Option` [INFO] [stderr] found closure `[closure@src/evaluator/interpreter.rs:269:44: 312:22 self:_]` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NativeFunction` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:320:45 [INFO] [stderr] | [INFO] [stderr] 320 | (vd.name.clone(), Kind::NativeFunction(nat_func)) [INFO] [stderr] | ^^^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `NativeFunction` not found here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:458:49 [INFO] [stderr] | [INFO] [stderr] 458 | let item = Item::TypeReference(contract.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::vec::Vec` cannot be built from an iterator over elements of type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:450:18 [INFO] [stderr] | [INFO] [stderr] 450 | .collect(); [INFO] [stderr] | ^^^^^^^ value of type `std::vec::Vec` cannot be built from `std::iter::Iterator` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator` is not implemented for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:482:33 [INFO] [stderr] | [INFO] [stderr] 482 | if implementor_type_ref.ty != KindHash::from(KIND_KIND_HASH_STR) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:483:102 [INFO] [stderr] | [INFO] [stderr] 483 | panic!("implementor type must be a reference to a kind but got {}", implementor_type_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:485:88 [INFO] [stderr] | [INFO] [stderr] 485 | let implementor_kind_hash = self.heap.load_type_reference(implementor_type_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:489:30 [INFO] [stderr] | [INFO] [stderr] 489 | if contract_type_ref.ty != KindHash::from(KIND_KIND_HASH_STR) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:490:104 [INFO] [stderr] | [INFO] [stderr] 490 | panic!("contract type type must be a reference to a kind but got {}", implementor_type_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:492:82 [INFO] [stderr] | [INFO] [stderr] 492 | let contract_kind_hash = self.heap.load_type_reference(contract_type_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:329:33 [INFO] [stderr] | [INFO] [stderr] 329 | self.stack.push(KindHash::clone(&enu_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:331:49 [INFO] [stderr] | [INFO] [stderr] 331 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Kind` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:513:109 [INFO] [stderr] | [INFO] [stderr] 513 | let message = format!("Expected implementing type to be an Object or Enum but got: {}", s); [INFO] [stderr] | ^ `evaluator::evaluator::Kind` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `&mut evaluator::evaluator::Kind` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variant_values` on type `std::sync::RwLockWriteGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:339:22 [INFO] [stderr] | [INFO] [stderr] 339 | enu_writable.variant_values = variant_values; [INFO] [stderr] | ^^^^^^^^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `methods` on type `std::sync::RwLockWriteGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:340:22 [INFO] [stderr] | [INFO] [stderr] 340 | enu_writable.methods = methods; [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:379:21 [INFO] [stderr] | [INFO] [stderr] 379 | parent: Reference::clone(main_module_reference), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `std::string::String`, found struct `evaluator::evaluator::Reference` [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::collections::HashMap` cannot be built from an iterator over elements of type `(std::string::String, evaluator::evaluator::Value)` [INFO] [stderr] --> src/evaluator/interpreter.rs:376:14 [INFO] [stderr] | [INFO] [stderr] 376 | .collect(); [INFO] [stderr] | ^^^^^^^ value of type `std::collections::HashMap` cannot be built from `std::iter::Iterator` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator<(std::string::String, evaluator::evaluator::Value)>` is not implemented for `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:524:57 [INFO] [stderr] | [INFO] [stderr] 524 | let req_func = self.kind_table.load(kind_hash); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected struct `std::string::String`, found `&std::string::String` [INFO] [stderr] | help: try using a conversion method: `kind_hash.to_string()` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:387:33 [INFO] [stderr] | [INFO] [stderr] 387 | let obj_kind_hash = obj.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:527:54 [INFO] [stderr] | [INFO] [stderr] 527 | (fs.name.clone(), Arc::clone(req_func)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `std::sync::Arc` [INFO] [stderr] | help: consider borrowing here: `&req_func` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&std::sync::Arc<_>` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:393:33 [INFO] [stderr] | [INFO] [stderr] 393 | self.stack.push(KindHash::clone(&obj_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Kind` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/evaluator/interpreter.rs:529:124 [INFO] [stderr] | [INFO] [stderr] 529 | let message = format!("COMPILER BUG: Contract required function is not a FunctionSignature: {:?}", req_func_readable); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ `evaluator::evaluator::Kind` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] = note: required by `std::fmt::Debug::fmt` [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::collections::HashMap` cannot be built from an iterator over elements of type `(std::string::String, std::sync::Arc<_>)` [INFO] [stderr] --> src/evaluator/interpreter.rs:533:18 [INFO] [stderr] | [INFO] [stderr] 533 | .collect() [INFO] [stderr] | ^^^^^^^ value of type `std::collections::HashMap` cannot be built from `std::iter::Iterator)>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator<(std::string::String, std::sync::Arc<_>)>` is not implemented for `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_object` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:400:39 [INFO] [stderr] | [INFO] [stderr] 400 | let obj_arc = self.kind_table.load_object(obj_kind_hash); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_object` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:407:44 [INFO] [stderr] | [INFO] [stderr] 407 | let item = Item::TypeReference(obj.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:432:32 [INFO] [stderr] | [INFO] [stderr] 432 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:439:43 [INFO] [stderr] | [INFO] [stderr] 439 | let contract_kind_hash = contract.kind_hash(); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0277]: `std::sync::RwLock` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:535:99 [INFO] [stderr] | [INFO] [stderr] 535 | let message = format!("Expected Contract implementation to be a Contract but got {}", contract); [INFO] [stderr] | ^^^^^^^^ `std::sync::RwLock` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `std::sync::RwLock` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `std::sync::Arc>` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:445:37 [INFO] [stderr] | [INFO] [stderr] 445 | self.stack.push(KindHash::clone(&contract_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:458:49 [INFO] [stderr] | [INFO] [stderr] 458 | let item = Item::TypeReference(contract.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:542:33 [INFO] [stderr] | [INFO] [stderr] 542 | self.stack.push(KindHash::clone(&implementor_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::vec::Vec` cannot be built from an iterator over elements of type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:450:18 [INFO] [stderr] | [INFO] [stderr] 450 | .collect(); [INFO] [stderr] | ^^^^^^^ value of type `std::vec::Vec` cannot be built from `std::iter::Iterator` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator` is not implemented for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:482:33 [INFO] [stderr] | [INFO] [stderr] 482 | if implementor_type_ref.ty != KindHash::from(KIND_KIND_HASH_STR) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:483:102 [INFO] [stderr] | [INFO] [stderr] 483 | panic!("implementor type must be a reference to a kind but got {}", implementor_type_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:485:88 [INFO] [stderr] | [INFO] [stderr] 485 | let implementor_kind_hash = self.heap.load_type_reference(implementor_type_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:544:49 [INFO] [stderr] | [INFO] [stderr] 544 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:489:30 [INFO] [stderr] | [INFO] [stderr] 489 | if contract_type_ref.ty != KindHash::from(KIND_KIND_HASH_STR) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:490:104 [INFO] [stderr] | [INFO] [stderr] 490 | panic!("contract type type must be a reference to a kind but got {}", implementor_type_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:492:82 [INFO] [stderr] | [INFO] [stderr] 492 | let contract_kind_hash = self.heap.load_type_reference(contract_type_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:557:47 [INFO] [stderr] | [INFO] [stderr] 557 | ... req_sig.kind_hash(&self.kind_table).unwrap()); [INFO] [stderr] | ^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_compatible_with` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:563:25 [INFO] [stderr] | [INFO] [stderr] 563 | if !req_sig.is_compatible_with(&implementor_func_ref.ty, &self.kind_table) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Kind` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:513:109 [INFO] [stderr] | [INFO] [stderr] 513 | let message = format!("Expected implementing type to be an Object or Enum but got: {}", s); [INFO] [stderr] | ^ `evaluator::evaluator::Kind` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `&mut evaluator::evaluator::Kind` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:563:66 [INFO] [stderr] | [INFO] [stderr] 563 | if !req_sig.is_compatible_with(&implementor_func_ref.ty, &self.kind_table) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:566:47 [INFO] [stderr] | [INFO] [stderr] 566 | ... req_sig.kind_hash(&self.kind_table).unwrap(), [INFO] [stderr] | ^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:567:60 [INFO] [stderr] | [INFO] [stderr] 567 | ... implementor_func_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `contains_value` found for struct `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:574:44 [INFO] [stderr] | [INFO] [stderr] 574 | if !required_functions_by_name.contains_value(&func_ref.ty) { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:574:69 [INFO] [stderr] | [INFO] [stderr] 574 | if !required_functions_by_name.contains_value(&func_ref.ty) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:578:48 [INFO] [stderr] | [INFO] [stderr] 578 | ... func_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:524:57 [INFO] [stderr] | [INFO] [stderr] 524 | let req_func = self.kind_table.load(kind_hash); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected struct `std::string::String`, found `&std::string::String` [INFO] [stderr] | help: try using a conversion method: `kind_hash.to_string()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:527:54 [INFO] [stderr] | [INFO] [stderr] 527 | (fs.name.clone(), Arc::clone(req_func)) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `std::sync::Arc` [INFO] [stderr] | help: consider borrowing here: `&req_func` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&std::sync::Arc<_>` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:619:77 [INFO] [stderr] | [INFO] [stderr] 619 | let func_sig_kind_hash = self.heap.load_type_reference(func_sig_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:624:32 [INFO] [stderr] | [INFO] [stderr] 624 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:628:37 [INFO] [stderr] | [INFO] [stderr] 628 | environment: Arc::clone(self.current_env), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `std::sync::Arc` [INFO] [stderr] | help: consider borrowing here: `&self.current_env` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&std::sync::Arc>` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Kind` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/evaluator/interpreter.rs:529:124 [INFO] [stderr] | [INFO] [stderr] 529 | let message = format!("COMPILER BUG: Contract required function is not a FunctionSignature: {:?}", req_func_readable); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ `evaluator::evaluator::Kind` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] = note: required by `std::fmt::Debug::fmt` [INFO] [stderr] [INFO] [stderr] error[E0277]: a value of type `std::collections::HashMap` cannot be built from an iterator over elements of type `(std::string::String, std::sync::Arc<_>)` [INFO] [stderr] --> src/evaluator/interpreter.rs:533:18 [INFO] [stderr] | [INFO] [stderr] 533 | .collect() [INFO] [stderr] | ^^^^^^^ value of type `std::collections::HashMap` cannot be built from `std::iter::Iterator)>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator<(std::string::String, std::sync::Arc<_>)>` is not implemented for `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0277]: `std::sync::RwLock` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:535:99 [INFO] [stderr] | [INFO] [stderr] 535 | let message = format!("Expected Contract implementation to be a Contract but got {}", contract); [INFO] [stderr] | ^^^^^^^^ `std::sync::RwLock` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `std::sync::RwLock` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Display` for `std::sync::Arc>` [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:542:33 [INFO] [stderr] | [INFO] [stderr] 542 | self.stack.push(KindHash::clone(&implementor_kind_hash)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_value_by_name` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:544:49 [INFO] [stderr] | [INFO] [stderr] 544 | let func_val = self.current_env.get_value_by_name(&fd.signature.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:557:47 [INFO] [stderr] | [INFO] [stderr] 557 | ... req_sig.kind_hash(&self.kind_table).unwrap()); [INFO] [stderr] | ^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_compatible_with` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:563:25 [INFO] [stderr] | [INFO] [stderr] 563 | if !req_sig.is_compatible_with(&implementor_func_ref.ty, &self.kind_table) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:563:66 [INFO] [stderr] | [INFO] [stderr] 563 | if !req_sig.is_compatible_with(&implementor_func_ref.ty, &self.kind_table) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for reference `&std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:566:47 [INFO] [stderr] | [INFO] [stderr] 566 | ... req_sig.kind_hash(&self.kind_table).unwrap(), [INFO] [stderr] | ^^^^^^^^^ method not found in `&std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:632:46 [INFO] [stderr] | [INFO] [stderr] 632 | self.heap.store(addr, Item::Function(func)); [INFO] [stderr] | ^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::Function` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::Function` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:567:60 [INFO] [stderr] | [INFO] [stderr] 567 | ... implementor_func_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `contains_value` found for struct `std::collections::HashMap` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:574:44 [INFO] [stderr] | [INFO] [stderr] 574 | if !required_functions_by_name.contains_value(&func_ref.ty) { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:574:69 [INFO] [stderr] | [INFO] [stderr] 574 | if !required_functions_by_name.contains_value(&func_ref.ty) { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:578:48 [INFO] [stderr] | [INFO] [stderr] 578 | ... func_ref.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/interpreter.rs:619:77 [INFO] [stderr] | [INFO] [stderr] 619 | let func_sig_kind_hash = self.heap.load_type_reference(func_sig_ref.address).unwrap(); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no associated item named `MAIN_MODULE_SYMBOL_ID` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:624:32 [INFO] [stderr] | [INFO] [stderr] 624 | parent: KindTable::MAIN_MODULE_SYMBOL_ID, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ associated item not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- associated item `MAIN_MODULE_SYMBOL_ID` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:670:27 [INFO] [stderr] | [INFO] [stderr] 670 | Some(self.last_local.take().unwrap()) [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:628:37 [INFO] [stderr] | [INFO] [stderr] 628 | environment: Arc::clone(self.current_env), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `std::sync::Arc` [INFO] [stderr] | help: consider borrowing here: `&self.current_env` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&std::sync::Arc>` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:632:46 [INFO] [stderr] | [INFO] [stderr] 632 | self.heap.store(addr, Item::Function(func)); [INFO] [stderr] | ^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::Function` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::Function` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:670:27 [INFO] [stderr] | [INFO] [stderr] 670 | Some(self.last_local.take().unwrap()) [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | parameters, [INFO] [stderr] | ^^^^^^^^^^ expected struct `std::string::String`, found enum `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::vec::Vec<(std::string::String, std::string::String)>` [INFO] [stderr] found struct `std::vec::Vec<(std::string::String, evaluator::evaluator::Value)>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | parameters, [INFO] [stderr] | ^^^^^^^^^^ expected struct `std::string::String`, found enum `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::vec::Vec<(std::string::String, std::string::String)>` [INFO] [stderr] found struct `std::vec::Vec<(std::string::String, evaluator::evaluator::Value)>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:682:49 [INFO] [stderr] | [INFO] [stderr] 682 | let item = Item::TypeReference(func_sig.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:682:49 [INFO] [stderr] | [INFO] [stderr] 682 | let item = Item::TypeReference(func_sig.kind_hash()); [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:686:26 [INFO] [stderr] | [INFO] [stderr] 686 | ty: func_sig.kind_hash(), [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `define` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:693:26 [INFO] [stderr] | [INFO] [stderr] 693 | self.current_env.define(func_sig.name.clone(), value); [INFO] [stderr] | ^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:686:26 [INFO] [stderr] | [INFO] [stderr] 686 | ty: func_sig.kind_hash(), [INFO] [stderr] | ^^^^^^^^^ expected 1 parameter [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:367:5 [INFO] [stderr] | [INFO] [stderr] 367 | fn kind_hash(&self, kind_table: &KindTable) -> KindHash; [INFO] [stderr] | -------------------------------------------------------- defined here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `define` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:693:26 [INFO] [stderr] | [INFO] [stderr] 693 | self.current_env.define(func_sig.name.clone(), value); [INFO] [stderr] | ^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_type` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:735:18 [INFO] [stderr] | [INFO] [stderr] 735 | if value.get_type() != target_type_reference { [INFO] [stderr] | ^^^^^^^^ help: there is a method with a similar name: `get_ty` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `get_type` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `resolve_address` found for mutable reference `&mut evaluator::interpreter::Interpreter` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:746:25 [INFO] [stderr] | [INFO] [stderr] 746 | let addr = self.resolve_address(var_assignment.target); [INFO] [stderr] | ^^^^^^^^^^^^^^^ method not found in `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_type` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:735:18 [INFO] [stderr] | [INFO] [stderr] 735 | if value.get_type() != target_type_reference { [INFO] [stderr] | ^^^^^^^^ help: there is a method with a similar name: `get_ty` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `get_type` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `resolve_address` found for mutable reference `&mut evaluator::interpreter::Interpreter` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:746:25 [INFO] [stderr] | [INFO] [stderr] 746 | let addr = self.resolve_address(var_assignment.target); [INFO] [stderr] | ^^^^^^^^^^^^^^^ method not found in `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:747:31 [INFO] [stderr] | [INFO] [stderr] 747 | self.heap.store(addr, value); [INFO] [stderr] | ^^^^^ expected enum `evaluator::evaluator::Item`, found enum `evaluator::evaluator::Value` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:781:47 [INFO] [stderr] | [INFO] [stderr] 781 | Some(val) => Value::clone(val), [INFO] [stderr] | ^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&evaluator::evaluator::Value`, found enum `evaluator::evaluator::Value` [INFO] [stderr] | help: consider borrowing here: `&val` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:791:54 [INFO] [stderr] | [INFO] [stderr] 791 | let val = Value::Scalar(Scalar::from(value)); [INFO] [stderr] | ^^^^^ expected enum `evaluator::evaluator::Scalar`, found `&syntax::parse_tree::Value` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_bool` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:824:30 [INFO] [stderr] | [INFO] [stderr] 824 | match cond_value.to_bool() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_bool` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:832:110 [INFO] [stderr] | [INFO] [stderr] 832 | let message = format!("expected a boolean value in if condition but got: {}", cond_value.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_bool` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:856:30 [INFO] [stderr] | [INFO] [stderr] 856 | match cond_value.to_bool() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_bool` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:747:31 [INFO] [stderr] | [INFO] [stderr] 747 | self.heap.store(addr, value); [INFO] [stderr] | ^^^^^ expected enum `evaluator::evaluator::Item`, found enum `evaluator::evaluator::Value` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:859:112 [INFO] [stderr] | [INFO] [stderr] 859 | let message = format!("expected a boolean value in loop condition but got: {}", cond_value.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:781:47 [INFO] [stderr] | [INFO] [stderr] 781 | Some(val) => Value::clone(val), [INFO] [stderr] | ^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&evaluator::evaluator::Value`, found enum `evaluator::evaluator::Value` [INFO] [stderr] | help: consider borrowing here: `&val` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwarp` found for enum `std::result::Result, std::sync::PoisonError>>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:888:49 [INFO] [stderr] | [INFO] [stderr] 888 | let oi_readable = oi_arc.read().unwarp(); [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `unwrap` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:899:71 [INFO] [stderr] | [INFO] [stderr] 899 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^ expected `&evaluator::evaluator::Object`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&evaluator::evaluator::Object` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:899:76 [INFO] [stderr] | [INFO] [stderr] 899 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&field_access.field_name` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `vtables` on type `std::sync::Arc>` [INFO] [stderr] --> src/evaluator/interpreter.rs:908:41 [INFO] [stderr] | [INFO] [stderr] 908 | let vtable_id = obj.vtables.get(contract_kind_hash).unwrap(); [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load` found for struct `evaluator::evaluator::VTables` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:909:47 [INFO] [stderr] | [INFO] [stderr] 909 | let vtable = self.vtables.load(vtable_id); [INFO] [stderr] | ^^^^ method not found in `evaluator::evaluator::VTables` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:527:1 [INFO] [stderr] | [INFO] [stderr] 527 | pub(crate) struct VTables { [INFO] [stderr] | ------------------------- method `load` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:791:54 [INFO] [stderr] | [INFO] [stderr] 791 | let val = Value::Scalar(Scalar::from(value)); [INFO] [stderr] | ^^^^^ expected enum `evaluator::evaluator::Scalar`, found `&syntax::parse_tree::Value` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_bool` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:824:30 [INFO] [stderr] | [INFO] [stderr] 824 | match cond_value.to_bool() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_bool` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:832:110 [INFO] [stderr] | [INFO] [stderr] 832 | let message = format!("expected a boolean value in if condition but got: {}", cond_value.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:912:67 [INFO] [stderr] | [INFO] [stderr] 912 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^ expected `&evaluator::evaluator::Object`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&evaluator::evaluator::Object` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_bool` found for enum `evaluator::evaluator::Value` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:856:30 [INFO] [stderr] | [INFO] [stderr] 856 | match cond_value.to_bool() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Value` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub(crate) enum Value { [INFO] [stderr] | --------------------- method `to_bool` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:912:72 [INFO] [stderr] | [INFO] [stderr] 912 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&field_access.field_name` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:919:39 [INFO] [stderr] | [INFO] [stderr] 919 | ... obj.kind_hash(&self.kind_table).unwrap()); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `ty` on type `evaluator::evaluator::Value` [INFO] [stderr] --> src/evaluator/interpreter.rs:859:112 [INFO] [stderr] | [INFO] [stderr] 859 | let message = format!("expected a boolean value in loop condition but got: {}", cond_value.ty); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwarp` found for enum `std::result::Result, std::sync::PoisonError>>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:888:49 [INFO] [stderr] | [INFO] [stderr] 888 | let oi_readable = oi_arc.read().unwarp(); [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `unwrap` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/evaluator/interpreter.rs:927:116 [INFO] [stderr] | [INFO] [stderr] 927 | let message = format!("trying to use dot access syntax on something that can't be accessed: {:?}", item); [INFO] [stderr] | ^^^^ `evaluator::evaluator::Item` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required by `std::fmt::Debug::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_enum` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:949:41 [INFO] [stderr] | [INFO] [stderr] 949 | if let Some(enu) = kind.to_enum() { [INFO] [stderr] | ^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:963:53 [INFO] [stderr] | [INFO] [stderr] 963 | ... self.stack.push(func); [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Value` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:967:48 [INFO] [stderr] | [INFO] [stderr] 967 | ... self.stack.push(); [INFO] [stderr] | ^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:899:71 [INFO] [stderr] | [INFO] [stderr] 899 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^ expected `&evaluator::evaluator::Object`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&evaluator::evaluator::Object` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:971:48 [INFO] [stderr] | [INFO] [stderr] 971 | ... self.stack.push(); [INFO] [stderr] | ^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Bool` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:976:75 [INFO] [stderr] | [INFO] [stderr] 976 | ... let third_arg = Value::Scalar(Scalar::Bool(does_contain_ty)); [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `Bool` not found here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:899:76 [INFO] [stderr] | [INFO] [stderr] 899 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&field_access.field_name` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `vtables` on type `std::sync::Arc>` [INFO] [stderr] --> src/evaluator/interpreter.rs:908:41 [INFO] [stderr] | [INFO] [stderr] 908 | let vtable_id = obj.vtables.get(contract_kind_hash).unwrap(); [INFO] [stderr] | ^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_ty` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1005:40 [INFO] [stderr] | [INFO] [stderr] 1005 | ... item.get_ty()); [INFO] [stderr] | ^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `get_ty` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_type_reference_hash` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1015:29 [INFO] [stderr] | [INFO] [stderr] 1015 | let obj_hash = item.to_type_reference_hash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `to_type_reference_hash` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load` found for struct `evaluator::evaluator::VTables` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:909:47 [INFO] [stderr] | [INFO] [stderr] 909 | let vtable = self.vtables.load(vtable_id); [INFO] [stderr] | ^^^^ method not found in `evaluator::evaluator::VTables` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:527:1 [INFO] [stderr] | [INFO] [stderr] 527 | pub(crate) struct VTables { [INFO] [stderr] | ------------------------- method `load` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `fields` on type `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:1022:62 [INFO] [stderr] | [INFO] [stderr] 1022 | for (field_name, expected_ty) in obj.read().unwrap().fields.iter() { [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Value` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:1073:87 [INFO] [stderr] | [INFO] [stderr] 1073 | let message = format!("expected to apply to a reference but got: {}", v); [INFO] [stderr] | ^ `evaluator::evaluator::Value` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Value` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_func` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1080:43 [INFO] [stderr] | [INFO] [stderr] 1080 | let func = match to_apply_to_item.to_func() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `to_func` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:912:67 [INFO] [stderr] | [INFO] [stderr] 912 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^ expected `&evaluator::evaluator::Object`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected reference `&evaluator::evaluator::Object` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:912:72 [INFO] [stderr] | [INFO] [stderr] 912 | if let Some(func) = self.get_obj_method_with_name(obj, field_access.field_name) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected `&std::string::String`, found struct `std::string::String` [INFO] [stderr] | help: consider borrowing here: `&field_access.field_name` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:1083:93 [INFO] [stderr] | [INFO] [stderr] 1083 | let message = format!("trying to call something that isn't a function: {}", to_apply_to_item); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ `evaluator::evaluator::Item` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `kind_hash` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:919:39 [INFO] [stderr] | [INFO] [stderr] 919 | ... obj.kind_hash(&self.kind_table).unwrap()); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `kind_hash`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `evaluator::evaluator::KindHashable` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:1104:48 [INFO] [stderr] | [INFO] [stderr] 1104 | let to_apply_to = self.kind_table.load(to_apply_to_sym_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ expected struct `std::string::String`, found enum `evaluator::evaluator::Value` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/evaluator/interpreter.rs:927:116 [INFO] [stderr] | [INFO] [stderr] 927 | let message = format!("trying to use dot access syntax on something that can't be accessed: {:?}", item); [INFO] [stderr] | ^^^^ `evaluator::evaluator::Item` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required by `std::fmt::Debug::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1122:19 [INFO] [stderr] | [INFO] [stderr] 1122 | Kind::Function(_f) => { [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_enum` found for struct `std::sync::Arc>` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:949:41 [INFO] [stderr] | [INFO] [stderr] 949 | if let Some(enu) = kind.to_enum() { [INFO] [stderr] | ^^^^^^^ method not found in `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:1131:39 [INFO] [stderr] | [INFO] [stderr] 1131 | let evaluated_type = self.last_local.take().unwrap(); [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1145:19 [INFO] [stderr] | [INFO] [stderr] 1145 | Kind::Function(_func) => panic!("unimplemented"), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1216:19 [INFO] [stderr] | [INFO] [stderr] 1216 | Kind::Function(_f) => { [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `TypeVariable` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1165:41 [INFO] [stderr] | [INFO] [stderr] 1165 | let new_sym = Kind::TypeVariable(Some(type_to_apply)); [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `TypeVariable` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1166:54 [INFO] [stderr] | [INFO] [stderr] 1166 | let new_sym_id = self.kind_table.get_or_create_symbol(new_sym); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `TypeVariable` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1197:41 [INFO] [stderr] | [INFO] [stderr] 1197 | let new_sym = Kind::TypeVariable(Some(type_to_apply)); [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `TypeVariable` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1198:54 [INFO] [stderr] | [INFO] [stderr] 1198 | let new_sym_id = self.kind_table.get_or_create_symbol(new_sym); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:963:53 [INFO] [stderr] | [INFO] [stderr] 963 | ... self.stack.push(func); [INFO] [stderr] | ^^^^ expected enum `evaluator::evaluator::Value`, found struct `std::sync::Arc` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `evaluator::evaluator::Value` [INFO] [stderr] found struct `std::sync::Arc>` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:967:48 [INFO] [stderr] | [INFO] [stderr] 967 | ... self.stack.push(); [INFO] [stderr] | ^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variants` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1202:63 [INFO] [stderr] | [INFO] [stderr] 1202 | for (field_name, maybe_field_sym_id) in e.variants.iter() { [INFO] [stderr] | ^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `name`, `type_arguments`, `variant_tys`, `variant_values` ... and 2 others [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variants` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1214:19 [INFO] [stderr] | [INFO] [stderr] 1214 | e.variants = new_variants; [INFO] [stderr] | ^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `name`, `type_arguments`, `variant_tys`, `variant_values` ... and 2 others [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/evaluator/interpreter.rs:971:48 [INFO] [stderr] | [INFO] [stderr] 971 | ... self.stack.push(); [INFO] [stderr] | ^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Bool` found for enum `evaluator::evaluator::Scalar` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:976:75 [INFO] [stderr] | [INFO] [stderr] 976 | ... let third_arg = Value::Scalar(Scalar::Bool(does_contain_ty)); [INFO] [stderr] | ^^^^ variant or associated item not found in `evaluator::evaluator::Scalar` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | pub(crate) enum Scalar { [INFO] [stderr] | ---------------------- variant or associated item `Bool` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1223:38 [INFO] [stderr] | [INFO] [stderr] 1223 | let sym_id = self.kind_table.get_or_create_symbol(Kind::clone(&new_type)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_ty` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1005:40 [INFO] [stderr] | [INFO] [stderr] 1005 | ... item.get_ty()); [INFO] [stderr] | ^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `get_ty` not found for this [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `evaluator::evaluator::Kind: std::clone::Clone` is not satisfied [INFO] [stderr] --> src/evaluator/interpreter.rs:1223:71 [INFO] [stderr] | [INFO] [stderr] 1223 | let sym_id = self.kind_table.get_or_create_symbol(Kind::clone(&new_type)); [INFO] [stderr] | ^^^^^^^^^ the trait `std::clone::Clone` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::clone::Clone::clone` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variant_funcs` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1229:47 [INFO] [stderr] | [INFO] [stderr] 1229 | for (_, variant_sym) in e.variant_funcs.iter_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: a field with a similar name exists: `variant_tys` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_type_reference_hash` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1015:29 [INFO] [stderr] | [INFO] [stderr] 1015 | let obj_hash = item.to_type_reference_hash(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `to_type_reference_hash` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `EnumInstance` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1230:38 [INFO] [stderr] | [INFO] [stderr] 1230 | if let Kind::EnumInstance(ei) = variant_sym { [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `EnumInstance` not found here [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `fields` on type `std::sync::RwLockReadGuard<'_, evaluator::evaluator::Kind>` [INFO] [stderr] --> src/evaluator/interpreter.rs:1022:62 [INFO] [stderr] | [INFO] [stderr] 1022 | for (field_name, expected_ty) in obj.read().unwrap().fields.iter() { [INFO] [stderr] | ^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `replace_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1238:25 [INFO] [stderr] | [INFO] [stderr] 1238 | self.kind_table.replace_symbol(sym_id, sym); [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `replace_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:1239:14 [INFO] [stderr] | [INFO] [stderr] 1239 | self.last_local = Some(sym_id); [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1303:52 [INFO] [stderr] | [INFO] [stderr] 1303 | let signature_sym = interpreter.kind_table.load_symbol(self.signature); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1315:57 [INFO] [stderr] | [INFO] [stderr] 1315 | self.kind_hash(&interpreter.kind_table).unwrap(), [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1324:52 [INFO] [stderr] | [INFO] [stderr] 1324 | let param_sym = interpreter.kind_table.load_symbol(*param_id); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NativeFunction` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/prelude.rs:27:51 [INFO] [stderr] | [INFO] [stderr] 27 | let print_symbol_id = kind_table.create(Kind::NativeFunction(print_nat_fn())); [INFO] [stderr] | ^^^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `NativeFunction` not found here [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Value` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:1073:87 [INFO] [stderr] | [INFO] [stderr] 1073 | let message = format!("expected to apply to a reference but got: {}", v); [INFO] [stderr] | ^ `evaluator::evaluator::Value` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Value` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `to_func` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1080:43 [INFO] [stderr] | [INFO] [stderr] 1080 | let func = match to_apply_to_item.to_func() { [INFO] [stderr] | ^^^^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `to_func` not found for this [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/prelude.rs:28:32 [INFO] [stderr] | [INFO] [stderr] 28 | env.insert("print".into(), print_symbol_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected struct `std::string::String`, found `()` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/prelude.rs:46:47 [INFO] [stderr] | [INFO] [stderr] 46 | let item = interp.heap.load(value.address); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/prelude.rs:47:38 [INFO] [stderr] | [INFO] [stderr] 47 | let item_readable = item.read().unwrap(); [INFO] [stderr] | ^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `read` not found for this [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `read`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `std::io::Read` [INFO] [stderr] [INFO] [stderr] error[E0277]: `evaluator::evaluator::Item` doesn't implement `std::fmt::Display` [INFO] [stderr] --> src/evaluator/interpreter.rs:1083:93 [INFO] [stderr] | [INFO] [stderr] 1083 | let message = format!("trying to call something that isn't a function: {}", to_apply_to_item); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ `evaluator::evaluator::Item` cannot be formatted with the default formatter [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Display` is not implemented for `evaluator::evaluator::Item` [INFO] [stderr] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stderr] = note: required by `std::fmt::Display::fmt` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/prelude.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 48 | match item_readable.deref() { [INFO] [stderr] | --------------------- this expression has type `[type error]` [INFO] [stderr] 49 | Item::ObjectInstance(ObjectInstance { ty: }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::ObjectInstance` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::ObjectInstance` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/interpreter.rs:1104:48 [INFO] [stderr] | [INFO] [stderr] 1104 | let to_apply_to = self.kind_table.load(to_apply_to_sym_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ expected struct `std::string::String`, found enum `evaluator::evaluator::Value` [INFO] [stderr] [INFO] [stderr] error: aborting due to 184 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0053, E0061, E0063, E0277, E0308, E0425, E0433, E0560, E0599... [INFO] [stderr] For more information about an error, try `rustc --explain E0053`. [INFO] [stderr] error: could not compile `pel`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1122:19 [INFO] [stderr] | [INFO] [stderr] 1122 | Kind::Function(_f) => { [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:1131:39 [INFO] [stderr] | [INFO] [stderr] 1131 | let evaluated_type = self.last_local.take().unwrap(); [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1145:19 [INFO] [stderr] | [INFO] [stderr] 1145 | Kind::Function(_func) => panic!("unimplemented"), [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `Function` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1216:19 [INFO] [stderr] | [INFO] [stderr] 1216 | Kind::Function(_f) => { [INFO] [stderr] | ^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `Function` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `TypeVariable` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1165:41 [INFO] [stderr] | [INFO] [stderr] 1165 | let new_sym = Kind::TypeVariable(Some(type_to_apply)); [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `TypeVariable` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1166:54 [INFO] [stderr] | [INFO] [stderr] 1166 | let new_sym_id = self.kind_table.get_or_create_symbol(new_sym); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `TypeVariable` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1197:41 [INFO] [stderr] | [INFO] [stderr] 1197 | let new_sym = Kind::TypeVariable(Some(type_to_apply)); [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `TypeVariable` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1198:54 [INFO] [stderr] | [INFO] [stderr] 1198 | let new_sym_id = self.kind_table.get_or_create_symbol(new_sym); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variants` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1202:63 [INFO] [stderr] | [INFO] [stderr] 1202 | for (field_name, maybe_field_sym_id) in e.variants.iter() { [INFO] [stderr] | ^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `name`, `type_arguments`, `variant_tys`, `variant_values` ... and 2 others [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variants` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1214:19 [INFO] [stderr] | [INFO] [stderr] 1214 | e.variants = new_variants; [INFO] [stderr] | ^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `parent`, `name`, `type_arguments`, `variant_tys`, `variant_values` ... and 2 others [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_or_create_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1223:38 [INFO] [stderr] | [INFO] [stderr] 1223 | let sym_id = self.kind_table.get_or_create_symbol(Kind::clone(&new_type)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `get_or_create_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `evaluator::evaluator::Kind: std::clone::Clone` is not satisfied [INFO] [stderr] --> src/evaluator/interpreter.rs:1223:71 [INFO] [stderr] | [INFO] [stderr] 1223 | let sym_id = self.kind_table.get_or_create_symbol(Kind::clone(&new_type)); [INFO] [stderr] | ^^^^^^^^^ the trait `std::clone::Clone` is not implemented for `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::clone::Clone::clone` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `variant_funcs` on type `&mut evaluator::evaluator::Enum` [INFO] [stderr] --> src/evaluator/interpreter.rs:1229:47 [INFO] [stderr] | [INFO] [stderr] 1229 | for (_, variant_sym) in e.variant_funcs.iter_mut() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: a field with a similar name exists: `variant_tys` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `EnumInstance` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1230:38 [INFO] [stderr] | [INFO] [stderr] 1230 | if let Kind::EnumInstance(ei) = variant_sym { [INFO] [stderr] | ^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `EnumInstance` not found here [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `replace_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1238:25 [INFO] [stderr] | [INFO] [stderr] 1238 | self.kind_table.replace_symbol(sym_id, sym); [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `replace_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `last_local` on type `&mut evaluator::interpreter::Interpreter` [INFO] [stderr] --> src/evaluator/interpreter.rs:1239:14 [INFO] [stderr] | [INFO] [stderr] 1239 | self.last_local = Some(sym_id); [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `kind_table`, `heap`, `vtables`, `global_env`, `current_env` ... and 3 others [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1303:52 [INFO] [stderr] | [INFO] [stderr] 1303 | let signature_sym = interpreter.kind_table.load_symbol(self.signature); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `unwrap` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1315:57 [INFO] [stderr] | [INFO] [stderr] 1315 | self.kind_hash(&interpreter.kind_table).unwrap(), [INFO] [stderr] | ^^^^^^ method not found in `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `load_symbol` found for struct `evaluator::evaluator::KindTable` in the current scope [INFO] [stderr] --> src/evaluator/interpreter.rs:1324:52 [INFO] [stderr] | [INFO] [stderr] 1324 | let param_sym = interpreter.kind_table.load_symbol(*param_id); [INFO] [stderr] | ^^^^^^^^^^^ method not found in `evaluator::evaluator::KindTable` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:510:1 [INFO] [stderr] | [INFO] [stderr] 510 | pub(crate) struct KindTable { [INFO] [stderr] | --------------------------- method `load_symbol` not found for this [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `NativeFunction` found for enum `evaluator::evaluator::Kind` in the current scope [INFO] [stderr] --> src/evaluator/prelude.rs:27:51 [INFO] [stderr] | [INFO] [stderr] 27 | let print_symbol_id = kind_table.create(Kind::NativeFunction(print_nat_fn())); [INFO] [stderr] | ^^^^^^^^^^^^^^ variant or associated item not found in `evaluator::evaluator::Kind` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | pub(crate) enum Kind { [INFO] [stderr] | -------------------- variant or associated item `NativeFunction` not found here [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/prelude.rs:28:32 [INFO] [stderr] | [INFO] [stderr] 28 | env.insert("print".into(), print_symbol_id); [INFO] [stderr] | ^^^^^^^^^^^^^^^ expected struct `std::string::String`, found `()` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `address` on type `std::option::Option` [INFO] [stderr] --> src/evaluator/prelude.rs:46:47 [INFO] [stderr] | [INFO] [stderr] 46 | let item = interp.heap.load(value.address); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read` found for enum `evaluator::evaluator::Item` in the current scope [INFO] [stderr] --> src/evaluator/prelude.rs:47:38 [INFO] [stderr] | [INFO] [stderr] 47 | let item_readable = item.read().unwrap(); [INFO] [stderr] | ^^^^ method not found in `evaluator::evaluator::Item` [INFO] [stderr] | [INFO] [stderr] ::: src/evaluator/evaluator.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub(crate) enum Item { [INFO] [stderr] | -------------------- method `read` not found for this [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stderr] = note: the following trait defines an item `read`, perhaps you need to implement it: [INFO] [stderr] candidate #1: `std::io::Read` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/evaluator/prelude.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 48 | match item_readable.deref() { [INFO] [stderr] | --------------------- this expression has type `[type error]` [INFO] [stderr] 49 | Item::ObjectInstance(ObjectInstance { ty: }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `evaluator::evaluator::ObjectInstance` [INFO] [stderr] | [INFO] [stderr] = note: expected struct `std::sync::Arc>` [INFO] [stderr] found struct `evaluator::evaluator::ObjectInstance` [INFO] [stderr] [INFO] [stderr] error: aborting due to 165 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0053, E0061, E0063, E0277, E0308, E0425, E0560, E0599, E0609. [INFO] [stderr] For more information about an error, try `rustc --explain E0053`. [INFO] [stderr] error: could not compile `pel`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "19d7af630a6202d54b11393ec0a9f473bf3eeebcc2fbf6c1c2bee5044d9e7598"` [INFO] running `"docker" "rm" "-f" "19d7af630a6202d54b11393ec0a9f473bf3eeebcc2fbf6c1c2bee5044d9e7598"` [INFO] [stdout] 19d7af630a6202d54b11393ec0a9f473bf3eeebcc2fbf6c1c2bee5044d9e7598