[INFO] cloning repository https://github.com/royenheart/Merilog [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/royenheart/Merilog" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froyenheart%2FMerilog", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froyenheart%2FMerilog'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dd7669e263b32a6e186bca8817b7ecf19f6b57a4 [INFO] checking royenheart/Merilog against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froyenheart%2FMerilog" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/royenheart/Merilog on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/royenheart/Merilog [INFO] finished tweaking git repo https://github.com/royenheart/Merilog [INFO] tweaked toml for git repo https://github.com/royenheart/Merilog written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/royenheart/Merilog already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/TheDan64/inkwell` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded xml_writer v0.4.0 [INFO] [stderr] Downloaded id_tree_layout v2.0.4 [INFO] [stderr] Downloaded llvm-sys v150.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a28fab3eed2f998a74e23ae807fb2706d83eff8f61645640ecf2afe20daac0b4 [INFO] running `Command { std: "docker" "start" "-a" "a28fab3eed2f998a74e23ae807fb2706d83eff8f61645640ecf2afe20daac0b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a28fab3eed2f998a74e23ae807fb2706d83eff8f61645640ecf2afe20daac0b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a28fab3eed2f998a74e23ae807fb2706d83eff8f61645640ecf2afe20daac0b4", kill_on_drop: false }` [INFO] [stdout] a28fab3eed2f998a74e23ae807fb2706d83eff8f61645640ecf2afe20daac0b4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f65ee02cb1a49f6fbeca43f9e594f74ade0115f87608b53c368e09f3e9dbb97 [INFO] running `Command { std: "docker" "start" "-a" "4f65ee02cb1a49f6fbeca43f9e594f74ade0115f87608b53c368e09f3e9dbb97", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling unicode-ident v1.0.8 [INFO] [stderr] Compiling quote v1.0.26 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling thiserror v1.0.40 [INFO] [stderr] Compiling semver v1.0.17 [INFO] [stderr] Compiling serde v1.0.160 [INFO] [stderr] Compiling regex-syntax v0.7.2 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling serde_derive v1.0.160 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Compiling parking_lot_core v0.9.7 [INFO] [stderr] Compiling aho-corasick v1.0.1 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling serde_json v1.0.96 [INFO] [stderr] Compiling syn v2.0.13 [INFO] [stderr] Compiling ucd-trie v0.1.5 [INFO] [stderr] Checking smallvec v1.10.0 [INFO] [stderr] Compiling io-lifetimes v1.0.10 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking ryu v1.0.13 [INFO] [stderr] Compiling rustix v0.37.27 [INFO] [stderr] Compiling dot-structures v0.1.1 [INFO] [stderr] Compiling once_cell v1.17.1 [INFO] [stderr] Checking getrandom v0.2.8 [INFO] [stderr] Compiling inkwell v0.2.0 (https://github.com/TheDan64/inkwell?branch=master#ec963b95) [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking itoa v1.0.6 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking linux-raw-sys v0.3.8 [INFO] [stderr] Checking either v1.8.1 [INFO] [stderr] Compiling regex v1.8.2 [INFO] [stderr] Checking xml_writer v0.4.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling dot-generator v0.2.0 [INFO] [stderr] Compiling into-attr v0.1.1 [INFO] [stderr] Checking fastrand v1.9.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling llvm-sys v150.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.40 [INFO] [stderr] Compiling inkwell_internals v0.8.0 (https://github.com/TheDan64/inkwell?branch=master#ec963b95) [INFO] [stderr] Checking tempfile v3.5.0 [INFO] [stderr] Compiling into-attr-derive v0.2.1 [INFO] [stderr] Compiling pest v2.5.7 [INFO] [stderr] Compiling pest_meta v2.5.7 [INFO] [stderr] Checking snowflake v1.3.0 [INFO] [stderr] Compiling pest_generator v2.5.7 [INFO] [stderr] Checking id_tree v1.8.0 [INFO] [stderr] Checking id_tree_layout v2.0.4 [INFO] [stderr] Checking Merilog v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `replace` [INFO] [stdout] --> src/syntax/ll_parser.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | macro_rules! replace { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/semantic/llvmir_gen.rs:718:21 [INFO] [stdout] | [INFO] [stdout] 717 | return Err(format!("暂不支持延迟初始化 {:?}", name)); [INFO] [stdout] | ---------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 718 | let late_init_b = self.context.append_basic_block(*func, "late_init_block"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1423:17 [INFO] [stdout] | [INFO] [stdout] 1422 | return Err(format!("暂不支持延迟初始化")); [INFO] [stdout] | ----------------------------------------- any code following this expression is unreachable [INFO] [stdout] 1423 | let next_b = self.context.append_basic_block(*func, "next_b"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pest_derive v2.5.7 [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1039:9 [INFO] [stdout] | [INFO] [stdout] 1039 | root: &NodeId, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | env: &NodeId, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inst` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1420:60 [INFO] [stdout] | [INFO] [stdout] 1420 | (ASTNode::T(Tokens::Is), _, Some(HasType::None(inst)), None, None) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ret` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1734:17 [INFO] [stdout] | [INFO] [stdout] 1734 | let mut ret = AnyTypeEnum::StructType(self.get_void_type()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ret` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1779:17 [INFO] [stdout] | [INFO] [stdout] 1779 | let mut ret = AnyTypeEnum::StructType(self.get_void_type()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | while let Some((index, n)) = itr.next() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking graphviz-rust v0.7.2 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1874:13 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut skip = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2240:21 [INFO] [stdout] | [INFO] [stdout] 2240 | Err(e) => { [INFO] [stdout] | ^^^^^^ matches no values because `Infallible` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `buf` is never read [INFO] [stdout] --> src/lex/analysis.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Analysis<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | buf: VecDeque, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_env` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct VType<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 197 | value: Option>, [INFO] [stdout] 198 | has_env: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `identi_lookup_types`, `identi_lookup_values`, `identi_looknow_tytype`, and `identi_looknow_vtype` are never used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2477:8 [INFO] [stdout] | [INFO] [stdout] 246 | / impl<'a, 'ctx> IrGen<'a, 'ctx> [INFO] [stdout] 247 | | where [INFO] [stdout] 248 | | 'ctx: 'a, [INFO] [stdout] | |_____________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2477 | fn identi_lookup_types(&self, id: &str, env: &NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2487 | fn identi_lookup_values(&self, id: &str, env: &NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2505 | fn identi_looknow_tytype(&self, id: &str, env: &NodeId) -> Option<&TyType> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2518 | fn identi_looknow_vtype(&self, id: &str, env: &NodeId) -> Option<&VType<'ctx>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `copy_now` is never used [INFO] [stdout] --> src/syntax/ll_parser.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl RecursiveDescentParser { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | fn copy_now(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate `Merilog` should have a snake case name [INFO] [stdout] | [INFO] [stdout] = help: convert the identifier to snake case: `merilog` [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1561:21 [INFO] [stdout] | [INFO] [stdout] 1561 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Tree` does not implement `Borrow`, so calling `borrow` on `&Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1561 - self.ast.borrow(), [INFO] [stdout] 1561 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1630:21 [INFO] [stdout] | [INFO] [stdout] 1630 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Tree` does not implement `Borrow`, so calling `borrow` on `&Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1630 - self.ast.borrow(), [INFO] [stdout] 1630 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2353:33 [INFO] [stdout] | [INFO] [stdout] 2353 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Tree` does not implement `Borrow`, so calling `borrow` on `&Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 2353 - self.ast.borrow(), [INFO] [stdout] 2353 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2524:9 [INFO] [stdout] | [INFO] [stdout] 2524 | self.symbols.push_symbol_types(id, value, env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2524 | let _ = self.symbols.push_symbol_types(id, value, env); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2529:9 [INFO] [stdout] | [INFO] [stdout] 2529 | self.symbols.push_symbol_values(id, value, env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2529 | let _ = self.symbols.push_symbol_values(id, value, env); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | llvmir_gen_engine.dump_to_file(o); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 219 | let _ = llvmir_gen_engine.dump_to_file(o); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnyTypeEnum`, `AnyValueEnum`, `ArrayType`, `ArrayValue`, `BasicMetadataTypeEnum`, `BasicValue`, and `VoidType` [INFO] [stdout] --> examples/test_llvm_ir.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | types::{AnyTypeEnum, ArrayType, BasicMetadataTypeEnum, IntType, VoidType}, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 6 | values::{AnyValue, AnyValueEnum, ArrayValue, BasicValue, FunctionValue, PointerValue}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `test_llvm_ir_example` should have an upper camel case name [INFO] [stdout] --> examples/test_llvm_ir.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct test_llvm_ir_example<'a, 'ctx> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TestLlvmIrExample` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i1` [INFO] [stdout] --> examples/test_llvm_ir.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | let i1 = i32_type.const_int(0, false); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i2` [INFO] [stdout] --> examples/test_llvm_ir.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | let i2 = i32_type.const_int(1, false); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_i2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_v1` [INFO] [stdout] --> examples/test_llvm_ir.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | let struct_v1 = struct_type.const_named_struct(&[i32_v1.into(), i32_v2.into()]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_v2` [INFO] [stdout] --> examples/test_llvm_ir.rs:269:13 [INFO] [stdout] | [INFO] [stdout] 269 | let struct_v2 = struct_type.const_named_struct(&[i32_v2.into(), i32_v1.into()]); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vv` [INFO] [stdout] --> examples/test_llvm_ir.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | let vv = self [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/test_llvm_ir.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | let mut arr_v = self.builder.build_alloca(arr_type, "arr_v_var"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> examples/test_llvm_ir.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let c = self [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `test_ptr_value`, `emit_printf_call`, `emit_struct`, and `emit_global_string` are never used [INFO] [stdout] --> examples/test_llvm_ir.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'a, 'ctx> test_llvm_ir_example<'a, 'ctx> { [INFO] [stdout] | --------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 261 | fn test_ptr_value(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn emit_printf_call(&self, hello_str: &str, name: &str, func: &FunctionValue) -> IntType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | fn emit_struct(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn emit_global_string(&self, strs: &str, name: &str) -> PointerValue<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | llvmir_gen_engine.dump_to_file(o); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 219 | let _ = llvmir_gen_engine.dump_to_file(o); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `replace` [INFO] [stdout] --> src/syntax/ll_parser.rs:31:14 [INFO] [stdout] | [INFO] [stdout] 31 | macro_rules! replace { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/semantic/llvmir_gen.rs:718:21 [INFO] [stdout] | [INFO] [stdout] 717 | return Err(format!("暂不支持延迟初始化 {:?}", name)); [INFO] [stdout] | ---------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 718 | let late_init_b = self.context.append_basic_block(*func, "late_init_block"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1423:17 [INFO] [stdout] | [INFO] [stdout] 1422 | return Err(format!("暂不支持延迟初始化")); [INFO] [stdout] | ----------------------------------------- any code following this expression is unreachable [INFO] [stdout] 1423 | let next_b = self.context.append_basic_block(*func, "next_b"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_2_b` [INFO] [stdout] --> src/extern_feature/id_tree.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | let node_2_b = tree.insert(Node::new(3), UnderNode(&node_1)).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_2_b` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_2` [INFO] [stdout] --> src/extern_feature/id_tree.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let node_2 = tree.insert(Node::new(2), UnderNode(&node_1)).unwrap(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_2_b` [INFO] [stdout] --> src/extern_feature/id_tree.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let node_2_b = tree.insert(Node::new(3), UnderNode(&node_1)).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_2_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `root` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1039:9 [INFO] [stdout] | [INFO] [stdout] 1039 | root: &NodeId, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_root` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | env: &NodeId, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inst` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1420:60 [INFO] [stdout] | [INFO] [stdout] 1420 | (ASTNode::T(Tokens::Is), _, Some(HasType::None(inst)), None, None) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_inst` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ret` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1734:17 [INFO] [stdout] | [INFO] [stdout] 1734 | let mut ret = AnyTypeEnum::StructType(self.get_void_type()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `ret` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1779:17 [INFO] [stdout] | [INFO] [stdout] 1779 | let mut ret = AnyTypeEnum::StructType(self.get_void_type()); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | while let Some((index, n)) = itr.next() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1874:13 [INFO] [stdout] | [INFO] [stdout] 1874 | let mut skip = 1; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2240:21 [INFO] [stdout] | [INFO] [stdout] 2240 | Err(e) => { [INFO] [stdout] | ^^^^^^ matches no values because `Infallible` is uninhabited [INFO] [stdout] | [INFO] [stdout] = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_1_b1` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2665:13 [INFO] [stdout] | [INFO] [stdout] 2665 | let node_1_b1 = tree [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_1_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_2` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2671:13 [INFO] [stdout] | [INFO] [stdout] 2671 | let node_2 = tree [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_2_b1` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2677:13 [INFO] [stdout] | [INFO] [stdout] 2677 | let node_2_b1 = tree [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_2_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_3_b1_b1` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2744:13 [INFO] [stdout] | [INFO] [stdout] 2744 | let node_3_b1_b1 = tree [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_3_b1_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_3_b1_b2` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2750:13 [INFO] [stdout] | [INFO] [stdout] 2750 | let node_3_b1_b2 = tree [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_3_b1_b2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_4_b2_b1` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2756:13 [INFO] [stdout] | [INFO] [stdout] 2756 | let node_4_b2_b1 = tree [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_4_b2_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_5_b2_b2_b1` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2768:13 [INFO] [stdout] | [INFO] [stdout] 2768 | let node_5_b2_b2_b1 = tree [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_5_b2_b2_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_5_b2_b2_b2` [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2774:13 [INFO] [stdout] | [INFO] [stdout] 2774 | let node_5_b2_b2_b2 = tree [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_5_b2_b2_b2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2784:13 [INFO] [stdout] | [INFO] [stdout] 2784 | let mut nodes: Vec<&ASTNode> = post_traversal_retain_and_skipsubtree( [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `buf` is never read [INFO] [stdout] --> src/lex/analysis.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Analysis<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | buf: VecDeque, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `has_env` is never read [INFO] [stdout] --> src/semantic/llvmir_gen.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct VType<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 197 | value: Option>, [INFO] [stdout] 198 | has_env: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `identi_lookup_types`, `identi_lookup_values`, `identi_looknow_tytype`, and `identi_looknow_vtype` are never used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2477:8 [INFO] [stdout] | [INFO] [stdout] 246 | / impl<'a, 'ctx> IrGen<'a, 'ctx> [INFO] [stdout] 247 | | where [INFO] [stdout] 248 | | 'ctx: 'a, [INFO] [stdout] | |_____________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 2477 | fn identi_lookup_types(&self, id: &str, env: &NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2487 | fn identi_lookup_values(&self, id: &str, env: &NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2505 | fn identi_looknow_tytype(&self, id: &str, env: &NodeId) -> Option<&TyType> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2518 | fn identi_looknow_vtype(&self, id: &str, env: &NodeId) -> Option<&VType<'ctx>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `copy_now` is never used [INFO] [stdout] --> src/syntax/ll_parser.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl RecursiveDescentParser { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | fn copy_now(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1561:21 [INFO] [stdout] | [INFO] [stdout] 1561 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `id_tree::Tree` does not implement `Borrow`, so calling `borrow` on `&id_tree::Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1561 - self.ast.borrow(), [INFO] [stdout] 1561 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `id_tree::Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:1630:21 [INFO] [stdout] | [INFO] [stdout] 1630 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `id_tree::Tree` does not implement `Borrow`, so calling `borrow` on `&id_tree::Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 1630 - self.ast.borrow(), [INFO] [stdout] 1630 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `id_tree::Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2353:33 [INFO] [stdout] | [INFO] [stdout] 2353 | self.ast.borrow(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `id_tree::Tree` does not implement `Borrow`, so calling `borrow` on `&id_tree::Tree` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 2353 - self.ast.borrow(), [INFO] [stdout] 2353 + self.ast, [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `id_tree::Tree`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/id_tree-1.8.0/src/tree.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 + #[derive(Clone)] [INFO] [stdout] 159 | pub struct Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2524:9 [INFO] [stdout] | [INFO] [stdout] 2524 | self.symbols.push_symbol_types(id, value, env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2524 | let _ = self.symbols.push_symbol_types(id, value, env); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2529:9 [INFO] [stdout] | [INFO] [stdout] 2529 | self.symbols.push_symbol_values(id, value, env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2529 | let _ = self.symbols.push_symbol_values(id, value, env); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2684:9 [INFO] [stdout] | [INFO] [stdout] 2684 | tree.write_formatted(&mut tree_str); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2684 | let _ = tree.write_formatted(&mut tree_str); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/semantic/llvmir_gen.rs:2781:9 [INFO] [stdout] | [INFO] [stdout] 2781 | tree.write_formatted(&mut tree_str); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2781 | let _ = tree.write_formatted(&mut tree_str); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.16s [INFO] running `Command { std: "docker" "inspect" "4f65ee02cb1a49f6fbeca43f9e594f74ade0115f87608b53c368e09f3e9dbb97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f65ee02cb1a49f6fbeca43f9e594f74ade0115f87608b53c368e09f3e9dbb97", kill_on_drop: false }` [INFO] [stdout] 4f65ee02cb1a49f6fbeca43f9e594f74ade0115f87608b53c368e09f3e9dbb97