[INFO] cloning repository https://github.com/kper/mill [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kper/mill" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkper%2Fmill", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkper%2Fmill'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 824615f4bfa74b868654bb998630ad743789ec73 [INFO] testing kper/mill against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkper%2Fmill" "/workspace/builds/worker-81/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-81/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kper/mill on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/kper/mill [INFO] finished tweaking git repo https://github.com/kper/mill [INFO] tweaked toml for git repo https://github.com/kper/mill written to /workspace/builds/worker-81/source/Cargo.toml [INFO] crate git repo https://github.com/kper/mill already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded console v0.14.0 [INFO] [stderr] Downloaded serde_yaml v0.8.16 [INFO] [stderr] Downloaded similar v0.3.0 [INFO] [stderr] Downloaded llvm-sys v100.2.0 [INFO] [stderr] Downloaded insta v1.5.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6a3f872e85d02622d38ae07fb96918c716b40576abc2bdfb52eb700fa0ac216d [INFO] running `Command { std: "docker" "start" "-a" "6a3f872e85d02622d38ae07fb96918c716b40576abc2bdfb52eb700fa0ac216d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6a3f872e85d02622d38ae07fb96918c716b40576abc2bdfb52eb700fa0ac216d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a3f872e85d02622d38ae07fb96918c716b40576abc2bdfb52eb700fa0ac216d", kill_on_drop: false }` [INFO] [stdout] 6a3f872e85d02622d38ae07fb96918c716b40576abc2bdfb52eb700fa0ac216d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 32f2f62a3a98c98c1574be977066e563f1915888088991e75de7e0b0300b0de6 [INFO] running `Command { std: "docker" "start" "-a" "32f2f62a3a98c98c1574be977066e563f1915888088991e75de7e0b0300b0de6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling regex-syntax v0.6.22 [INFO] [stderr] Compiling log v0.4.13 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling serde_derive v1.0.123 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling serde v1.0.123 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling siphasher v0.3.3 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling cc v1.0.66 [INFO] [stderr] Compiling new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling fixedbitset v0.2.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling pico-args v0.4.2 [INFO] [stderr] Compiling serde_json v1.0.62 [INFO] [stderr] Compiling linked-hash-map v0.5.4 [INFO] [stderr] Compiling diff v0.1.12 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Compiling dtoa v0.4.7 [INFO] [stderr] Compiling anyhow v1.0.38 [INFO] [stderr] Compiling similar v0.3.0 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling thread_local v1.1.0 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling bit-set v0.5.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling phf_shared v0.8.0 [INFO] [stderr] Compiling itertools v0.10.1 [INFO] [stderr] Compiling ena v0.14.0 [INFO] [stderr] Compiling string_cache v0.8.1 [INFO] [stderr] Compiling aho-corasick v0.7.15 [INFO] [stderr] Compiling quote v1.0.8 [INFO] [stderr] Compiling petgraph v0.5.1 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling terminal_size v0.1.16 [INFO] [stderr] Compiling console v0.14.0 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling regex v1.4.3 [INFO] [stderr] Compiling lalrpop-util v0.19.6 [INFO] [stderr] Compiling env_logger v0.8.2 [INFO] [stderr] Compiling lalrpop v0.19.6 [INFO] [stderr] Compiling llvm-sys v100.2.0 [INFO] [stderr] Compiling serde_yaml v0.8.16 [INFO] [stderr] Compiling insta v1.5.3 [INFO] [stderr] Compiling mill v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::visitors::CodegenVisitor` [INFO] [stdout] --> src/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::visitors::CodegenVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/ast.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::*` [INFO] [stdout] --> src/codegen/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ast::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::visitors::CodegenVisitor` [INFO] [stdout] --> src/codegen/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::visitors::CodegenVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/codegen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/codegen/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Result`, `bail` [INFO] [stdout] --> src/codegen/mod.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{bail, Context, Result}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/codegen/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm_sys::core::*` [INFO] [stdout] --> src/codegen/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use llvm_sys::core::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:237:27 [INFO] [stdout] | [INFO] [stdout] 237 | symbols: HashMap, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 237 - symbols: HashMap, [INFO] [stdout] 237 + symbols: HashMap, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:246:45 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn get(&self, sym: &Key) -> Option<&(LLVMBasicBlockRef)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 246 - pub fn get(&self, sym: &Key) -> Option<&(LLVMBasicBlockRef)> { [INFO] [stdout] 246 + pub fn get(&self, sym: &Key) -> Option<&LLVMBasicBlockRef> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:250:46 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn insert(&mut self, sym: &Key, val: (LLVMBasicBlockRef)) -> Result<()> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - pub fn insert(&mut self, sym: &Key, val: (LLVMBasicBlockRef)) -> Result<()> { [INFO] [stdout] 250 + pub fn insert(&mut self, sym: &Key, val: LLVMBasicBlockRef) -> Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/visitors/print_visitor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::*` [INFO] [stdout] --> src/visitors/check_if_function_call_exists.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::ast::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm_sys::bit_writer::*` [INFO] [stdout] --> src/visitors/codegen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use llvm_sys::bit_writer::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/visitors/codegen.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::traversal::Traversal` [INFO] [stdout] --> src/traversal/codegen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::traversal::Traversal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Visitor` [INFO] [stdout] --> src/visitors/codegen.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::Visitor; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `codegen` [INFO] [stdout] --> src/visitors/codegen.rs:32:53 [INFO] [stdout] | [INFO] [stdout] 32 | fn visit_program(&mut self, _program: &Program, codegen: &mut Codegen) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `module` [INFO] [stdout] --> src/visitors/codegen.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let module = codegen.module.clone(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `codegen` [INFO] [stdout] --> src/visitors/codegen.rs:151:47 [INFO] [stdout] | [INFO] [stdout] 151 | fn visit_guard(&mut self, _guard: &Guard, codegen: &mut Codegen) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `codegen` [INFO] [stdout] --> src/visitors/codegen.rs:196:48 [INFO] [stdout] | [INFO] [stdout] 196 | fn visit_struct(&mut self, _stru: &Struct, codegen: &mut Codegen) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_codegen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/visitors/codegen.rs:200:29 [INFO] [stdout] | [INFO] [stdout] 200 | fn write_bitcode(&self, name: &str) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `symbol_table` [INFO] [stdout] --> src/ast.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | symbol_table: SymbolTable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `Func` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/ast.rs:165:10 [INFO] [stdout] | [INFO] [stdout] 165 | #[derive(Debug, Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_name` [INFO] [stdout] --> src/pass.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_visitor` [INFO] [stdout] --> src/pass.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn get_visitor(&self) -> &Box { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 35.45s [INFO] running `Command { std: "docker" "inspect" "32f2f62a3a98c98c1574be977066e563f1915888088991e75de7e0b0300b0de6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32f2f62a3a98c98c1574be977066e563f1915888088991e75de7e0b0300b0de6", kill_on_drop: false }` [INFO] [stdout] 32f2f62a3a98c98c1574be977066e563f1915888088991e75de7e0b0300b0de6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-81/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 780abbf17720005f50c9997318db36f2b6b6b603001d67d7a3b51b04fdc8a83b [INFO] running `Command { std: "docker" "start" "-a" "780abbf17720005f50c9997318db36f2b6b6b603001d67d7a3b51b04fdc8a83b", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling mill v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `inkwell` [INFO] [stdout] --> src/tests/prelude.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use inkwell::context::Context as LLVM_Context; [INFO] [stdout] | ^^^^^^^ use of undeclared crate or module `inkwell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 36 | compile!("fn main() { return 1; }"); [INFO] [stdout] | ----------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 41 | compile!("fn main() { let a : int = 1; let b : int = 2; }"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 46 | compile!("fn main() { let a : int = 1; a = 2; }"); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 51 | compile!("fn main() { return 1 + 2; }"); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 56 | compile!("fn main() { return 1 + 2 + 3; }"); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 61 | compile!("fn main() { let a : int = 1; let b : int = 2; let c : int = 3; return a + b + c; }"); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 66 | compile!("fn f(a: int) { return a; } fn main() { let a : int = 1; return f(a); }"); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 71 | compile!("fn main() { let a : int = 1; return f(a); } fn f(a:int) { return a; }"); [INFO] [stdout] | --------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 76 | compile!("fn main() { match 1 -> return 2; break; end; }"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 81 | compile!("fn main() { match 1 -> let a : int = 2; break; _ -> return 3; break; end; }"); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 86 | compile!("struct test { a: int }"); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 91 | compile!("struct test { a: int, b: int } fn main() { let a = new test; }"); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 96 | compile!("struct t { a: int, b: int } fn main() { let o = new t; let k : int = o.a; return k; }"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `LLVM_Context` [INFO] [stdout] --> src/tests/ir.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | let context = LLVM_Context::create(); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `LLVM_Context` [INFO] [stdout] ... [INFO] [stdout] 101 | compile!("struct t { a: int, b: int } fn main() { let o = new t; o.a = 10; let k : int = o.a; return k; }"); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::visitors::CodegenVisitor` [INFO] [stdout] --> src/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::visitors::CodegenVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/ast.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::*` [INFO] [stdout] --> src/codegen/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ast::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::visitors::CodegenVisitor` [INFO] [stdout] --> src/codegen/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::visitors::CodegenVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/codegen/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/codegen/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Result`, `bail` [INFO] [stdout] --> src/codegen/mod.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{bail, Context, Result}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/codegen/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm_sys::core::*` [INFO] [stdout] --> src/codegen/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use llvm_sys::core::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:237:27 [INFO] [stdout] | [INFO] [stdout] 237 | symbols: HashMap, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 237 - symbols: HashMap, [INFO] [stdout] 237 + symbols: HashMap, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:246:45 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn get(&self, sym: &Key) -> Option<&(LLVMBasicBlockRef)> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 246 - pub fn get(&self, sym: &Key) -> Option<&(LLVMBasicBlockRef)> { [INFO] [stdout] 246 + pub fn get(&self, sym: &Key) -> Option<&LLVMBasicBlockRef> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/symbol_table.rs:250:46 [INFO] [stdout] | [INFO] [stdout] 250 | pub fn insert(&mut self, sym: &Key, val: (LLVMBasicBlockRef)) -> Result<()> { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - pub fn insert(&mut self, sym: &Key, val: (LLVMBasicBlockRef)) -> Result<()> { [INFO] [stdout] 250 + pub fn insert(&mut self, sym: &Key, val: LLVMBasicBlockRef) -> Result<()> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/visitors/print_visitor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::*` [INFO] [stdout] --> src/visitors/check_if_function_call_exists.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::ast::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm_sys::bit_writer::*` [INFO] [stdout] --> src/visitors/codegen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use llvm_sys::bit_writer::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/visitors/codegen.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::traversal::Traversal` [INFO] [stdout] --> src/traversal/codegen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::traversal::Traversal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 36 | compile!("fn main() { return 1; }"); [INFO] [stdout] | ----------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 36 | compile!("fn main() { return 1; }"); [INFO] [stdout] | ----------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 36 | compile!("fn main() { return 1; }"); [INFO] [stdout] | ----------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 41 | compile!("fn main() { let a : int = 1; let b : int = 2; }"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 41 | compile!("fn main() { let a : int = 1; let b : int = 2; }"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 41 | compile!("fn main() { let a : int = 1; let b : int = 2; }"); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 46 | compile!("fn main() { let a : int = 1; a = 2; }"); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 46 | compile!("fn main() { let a : int = 1; a = 2; }"); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 46 | compile!("fn main() { let a : int = 1; a = 2; }"); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 51 | compile!("fn main() { return 1 + 2; }"); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 51 | compile!("fn main() { return 1 + 2; }"); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 51 | compile!("fn main() { return 1 + 2; }"); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 56 | compile!("fn main() { return 1 + 2 + 3; }"); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 56 | compile!("fn main() { return 1 + 2 + 3; }"); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 56 | compile!("fn main() { return 1 + 2 + 3; }"); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 61 | compile!("fn main() { let a : int = 1; let b : int = 2; let c : int = 3; return a + b + c; }"); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 61 | compile!("fn main() { let a : int = 1; let b : int = 2; let c : int = 3; return a + b + c; }"); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 61 | compile!("fn main() { let a : int = 1; let b : int = 2; let c : int = 3; return a + b + c; }"); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 66 | compile!("fn f(a: int) { return a; } fn main() { let a : int = 1; return f(a); }"); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 66 | compile!("fn f(a: int) { return a; } fn main() { let a : int = 1; return f(a); }"); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 66 | compile!("fn f(a: int) { return a; } fn main() { let a : int = 1; return f(a); }"); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 71 | compile!("fn main() { let a : int = 1; return f(a); } fn f(a:int) { return a; }"); [INFO] [stdout] | --------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 71 | compile!("fn main() { let a : int = 1; return f(a); } fn f(a:int) { return a; }"); [INFO] [stdout] | --------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 71 | compile!("fn main() { let a : int = 1; return f(a); } fn f(a:int) { return a; }"); [INFO] [stdout] | --------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 76 | compile!("fn main() { match 1 -> return 2; break; end; }"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 76 | compile!("fn main() { match 1 -> return 2; break; end; }"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 76 | compile!("fn main() { match 1 -> return 2; break; end; }"); [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 81 | compile!("fn main() { match 1 -> let a : int = 2; break; _ -> return 3; break; end; }"); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 81 | compile!("fn main() { match 1 -> let a : int = 2; break; _ -> return 3; break; end; }"); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 81 | compile!("fn main() { match 1 -> let a : int = 2; break; _ -> return 3; break; end; }"); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 86 | compile!("struct test { a: int }"); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 86 | compile!("struct test { a: int }"); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 86 | compile!("struct test { a: int }"); [INFO] [stdout] | ---------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 91 | compile!("struct test { a: int, b: int } fn main() { let a = new test; }"); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 91 | compile!("struct test { a: int, b: int } fn main() { let a = new test; }"); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 91 | compile!("struct test { a: int, b: int } fn main() { let a = new test; }"); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 96 | compile!("struct t { a: int, b: int } fn main() { let o = new t; let k : int = o.a; return k; }"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 96 | compile!("struct t { a: int, b: int } fn main() { let o = new t; let k : int = o.a; return k; }"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 96 | compile!("struct t { a: int, b: int } fn main() { let o = new t; let k : int = o.a; return k; }"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | let visitor = CodegenVisitor::new(module, builder); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ ------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 0 arguments [INFO] [stdout] ... [INFO] [stdout] 101 | compile!("struct t { a: int, b: int } fn main() { let o = new t; o.a = 10; let k : int = o.a; return k; }"); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/visitors/codegen.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> src/tests/ir.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | let visitor = runner.run_codegen(visitor, CodegenTraversal, &mut program).expect("Codegen failed"); [INFO] [stdout] | ^^^^^^^^^^^ ------- ---------------- ------------ supplied 3 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 4 arguments [INFO] [stdout] ... [INFO] [stdout] 101 | compile!("struct t { a: int, b: int } fn main() { let o = new t; o.a = 10; let k : int = o.a; return k; }"); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/runner.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | ...fn run_codegen(&mut self, visitor: &mut impl CodegenVisitorTrait, codegen: &mut Codegen, mut traversal: CodegenTraversal, program: &mut Program) -... [INFO] [stdout] | ^^^^^^^^^^^ --------- -------------------------------------- --------------------- ------------------------------- --------------------- [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ir` found for unit type `()` in the current scope [INFO] [stdout] --> src/tests/ir.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | let ir = visitor.get_ir().expect("Codegen failed").expect("did not generate IR"); [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] ... [INFO] [stdout] 101 | compile!("struct t { a: int, b: int } fn main() { let o = new t; o.a = 10; let k : int = o.a; return k; }"); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] note: `visitors::CodegenVisitorTrait` defines an item `get_ir`, perhaps you need to implement it [INFO] [stdout] --> src/visitors/mod.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait CodegenVisitorTrait { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this error originates in the macro `compile` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Visitor` [INFO] [stdout] --> src/visitors/codegen.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::Visitor; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 57 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mill` due to 58 previous errors; 18 warnings emitted [INFO] running `Command { std: "docker" "inspect" "780abbf17720005f50c9997318db36f2b6b6b603001d67d7a3b51b04fdc8a83b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "780abbf17720005f50c9997318db36f2b6b6b603001d67d7a3b51b04fdc8a83b", kill_on_drop: false }` [INFO] [stdout] 780abbf17720005f50c9997318db36f2b6b6b603001d67d7a3b51b04fdc8a83b