[INFO] cloning repository https://github.com/shadowcatzero/lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shadowcatzero/lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowcatzero%2Flang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowcatzero%2Flang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 606cb30c6be1ecce95fa06edf781851acc486134 [INFO] building shadowcatzero/lang against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshadowcatzero%2Flang" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/shadowcatzero/lang on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/shadowcatzero/lang [INFO] finished tweaking git repo https://github.com/shadowcatzero/lang [INFO] tweaked toml for git repo https://github.com/shadowcatzero/lang written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/shadowcatzero/lang 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2eae533b2836415428b970cb4d6c35e854c61cb57f769e81d1b9e24b5851c9db [INFO] running `Command { std: "docker" "start" "-a" "2eae533b2836415428b970cb4d6c35e854c61cb57f769e81d1b9e24b5851c9db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2eae533b2836415428b970cb4d6c35e854c61cb57f769e81d1b9e24b5851c9db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2eae533b2836415428b970cb4d6c35e854c61cb57f769e81d1b9e24b5851c9db", kill_on_drop: false }` [INFO] [stdout] 2eae533b2836415428b970cb4d6c35e854c61cb57f769e81d1b9e24b5851c9db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a653a4d0cd09db96c767f112547c1b8530c6deefc669a75543e6f5524ed7b9f9 [INFO] running `Command { std: "docker" "start" "-a" "a653a4d0cd09db96c767f112547c1b8530c6deefc669a75543e6f5524ed7b9f9", kill_on_drop: false }` [INFO] [stderr] Compiling lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Symbol` and `VarID` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:7:55 [INFO] [stdout] | [INFO] [stdout] 7 | IRLInstruction as IRI, IRLProgram, Len, Size, Symbol, VarID, [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FnID` [INFO] [stdout] --> src/ir/lower/program.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ir::{FnID, SymbolSpace}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Keyword`, `Node`, `PAsmBlock`, `PIdent`, `PType`, `PVarDef`, `Parsable`, `ParseResult`, `ParserCtx`, `Symbol`, and `util::parse_list` [INFO] [stdout] --> src/parser/v3/nodes/asm_fn.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | util::parse_list, PAsmBlock, PIdent, Keyword, Node, Parsable, ParseResult, ParserCtx, Symbol, PType, PVarDef, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asm_fn::*` [INFO] [stdout] --> src/parser/v3/nodes/mod.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub use asm_fn::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lower::*` [INFO] [stdout] --> src/parser/v3/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use lower::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `missing` [INFO] [stdout] --> src/compiler/arch/riscv64/asm.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | missing: bool, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_missing` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | IRI::Mv { dest, src } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `dest: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:82:33 [INFO] [stdout] | [INFO] [stdout] 82 | IRI::Mv { dest, src } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `src: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:83:28 [INFO] [stdout] | [INFO] [stdout] 83 | IRI::Ref { dest, src } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `dest: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:83:34 [INFO] [stdout] | [INFO] [stdout] 83 | IRI::Ref { dest, src } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `src: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:109:29 [INFO] [stdout] | [INFO] [stdout] 109 | IRI::Call { dest, f, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `dest: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:140:38 [INFO] [stdout] | [INFO] [stdout] 140 | ... AI::La { dest, src } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `dest: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:140:44 [INFO] [stdout] | [INFO] [stdout] 140 | ... AI::La { dest, src } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `src: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:149:28 [INFO] [stdout] | [INFO] [stdout] 149 | IRI::Ret { src } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `src: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_ident` [INFO] [stdout] --> src/compiler/arch/riscv64/compile.rs:128:41 [INFO] [stdout] | [INFO] [stdout] 128 | ... RegRef::Var(var_ident) => todo!(), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def` [INFO] [stdout] --> src/ir/upper/namespace.rs:79:21 [INFO] [stdout] | [INFO] [stdout] 79 | let def = &self.type_defs[id.0]; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_def` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base` [INFO] [stdout] --> src/ir/upper/namespace.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | Type::Generic { base, args } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `base: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/ir/upper/namespace.rs:83:35 [INFO] [stdout] | [INFO] [stdout] 83 | Type::Generic { base, args } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/ir/upper/namespace.rs:84:24 [INFO] [stdout] | [INFO] [stdout] 84 | Type::Fn { args, ret } => todo!(), [INFO] [stdout] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/ir/upper/namespace.rs:84:30 [INFO] [stdout] | [INFO] [stdout] 84 | Type::Fn { args, ret } => todo!(), [INFO] [stdout] | ^^^ help: try ignoring the field: `ret: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res1` [INFO] [stdout] --> src/parser/v3/lower/expr.rs:38:21 [INFO] [stdout] | [INFO] [stdout] 38 | let res1 = e1.lower(ctx)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_res1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res2` [INFO] [stdout] --> src/parser/v3/lower/expr.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 39 | let res2 = e2.lower(ctx)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_res2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> src/parser/v3/lower/expr.rs:56:39 [INFO] [stdout] | [INFO] [stdout] 56 | let Type::Ref(inner) = t else { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/parser/v3/parse.rs:37:34 [INFO] [stdout] | [INFO] [stdout] 37 | ParseResult::Recover(v) => ControlFlow::Break(None), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/compiler/program.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 18 | for (fun, id) in fns { [INFO] [stdout] | --- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | `#1` will be dropped later as of Edition 2024 [INFO] [stdout] 19 | sym_table.insert(id, Addr(data.len() as u64)); [INFO] [stdout] 20 | for i in fun { [INFO] [stdout] | - --- [INFO] [stdout] | | | [INFO] [stdout] | | `iter` calls a custom destructor [INFO] [stdout] | | `iter` will be dropped later as of Edition 2024 [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] | `i` calls a custom destructor [INFO] [stdout] | `i` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 26 | missing.insert(sym, vec![(i_pos, i)]); [INFO] [stdout] | ------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | if let Some(vec) = missing.remove(&id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#7` [INFO] [stdout] | up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] 31 | for (addr, i) in vec { [INFO] [stdout] | - --- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | | `#4` will be dropped later as of Edition 2024 [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | | `#5` will be dropped later as of Edition 2024 [INFO] [stdout] | this value will be stored in a temporary; let us call it `#6` [INFO] [stdout] | `#6` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 38 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Add`, `Andi`, `Slli`, `Srli`, `Jal`, and `J` are never constructed [INFO] [stdout] --> src/compiler/arch/riscv64/asm.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum LinkerInstruction { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 7 | Add { dest: Reg, src1: Reg, src2: Reg }, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | Addi { dest: Reg, src: Reg, imm: i32 }, [INFO] [stdout] 9 | Andi { dest: Reg, src: Reg, imm: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Slli { dest: Reg, src: Reg, imm: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | Srli { dest: Reg, src: Reg, imm: i32 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Jal { dest: Reg, offset: i32 }, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | Call(Symbol), [INFO] [stdout] 18 | J(Symbol), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `LinkerInstruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_be_bytes` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/base.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl RawInstruction { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn to_be_bytes(&self) -> impl IntoIterator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `b_type` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/base.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | pub const fn b_type( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLT` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub const SLT : Funct3 = Funct3::new(0b010); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLTU` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const SLTU: Funct3 = Funct3::new(0b011); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `XOR` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub const XOR : Funct3 = Funct3::new(0b100); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OR` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | pub const OR : Funct3 = Funct3::new(0b110); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `B` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub const B : Funct3 = Funct3::new(0b000); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `H` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | pub const H : Funct3 = Funct3::new(0b001); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub const W : Funct3 = Funct3::new(0b010); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BU` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub const BU: Funct3 = Funct3::new(0b100); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HU` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | pub const HU: Funct3 = Funct3::new(0b101); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WU` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/funct.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub const WU: Funct3 = Funct3::new(0b110); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPCODE_MASK` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/opcode.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const OPCODE_MASK: u32 = 0b1111111; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ebreak` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/single.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ebreak() -> I { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lw` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/single.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | pub const fn lw(dest: Reg, offset: BitsI32<11, 0>, base: Reg) -> I { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lb` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/single.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | pub const fn lb(dest: Reg, offset: BitsI32<11, 0>, base: Reg) -> I { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sb` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/single.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | pub const fn sb(src: Reg, offset: BitsI32<11, 0>, base: Reg) -> I { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sw` is never used [INFO] [stdout] --> src/compiler/arch/riscv64/single.rs:28:14 [INFO] [stdout] | [INFO] [stdout] 28 | pub const fn sw(src: Reg, offset: BitsI32<11, 0>, base: Reg) -> I { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Target` is never used [INFO] [stdout] --> src/compiler/target.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Target { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `RegType` is never used [INFO] [stdout] --> src/compiler/target.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait RegType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `args` and `origin` are never read [INFO] [stdout] --> src/ir/upper/def.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TypeDef { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 14 | pub name: String, [INFO] [stdout] 15 | pub args: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | pub origin: Origin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin` is never read [INFO] [stdout] --> src/ir/upper/def.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct VarDef { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub origin: Origin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarDef` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ir/upper/def.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | File(FileSpan), [INFO] [stdout] | ---- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Origin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 29 | File(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Builtin` is never constructed [INFO] [stdout] --> src/ir/upper/def.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum Origin { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] 28 | Builtin, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Origin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mv` and `LoadFn` are never constructed [INFO] [stdout] --> src/ir/upper/func.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum IRUInstruction { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 13 | Mv { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 30 | LoadFn { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ref` and `Array` are never constructed [INFO] [stdout] --> src/ir/upper/ty.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Type { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | Ref(Box), [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | Slice(Box), [INFO] [stdout] 11 | Array(Box, Len), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `rf` and `arr` are never used [INFO] [stdout] --> src/ir/upper/ty.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Type { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 18 | pub fn rf(self) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn arr(self, len: Len) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `alias_fn`, `def_type`, and `iter_vars` are never used [INFO] [stdout] --> src/ir/upper/namespace.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Namespace { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn alias_fn(&mut self, name: &str, id: FnID) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn def_type(&mut self, def: TypeDef) -> TypeID { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn iter_vars(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Type` is never constructed [INFO] [stdout] --> src/ir/upper/namespace.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 223 | pub enum Ident { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 226 | Type(TypeID), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ident` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/ir/lower/func.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct IRLFunction { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 8 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRLFunction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/ir/lower/symbol.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl SymbolSpaceBuilder { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IRAsmInstruction` is never constructed [INFO] [stdout] --> src/ir/asm.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct IRAsmInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IRAsmInstruction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RegRef` is never used [INFO] [stdout] --> src/ir/asm.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum RegRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RegRef` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `seek` is never used [INFO] [stdout] --> src/parser/v3/cursor.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl<'a> TokenCursor<'a> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn seek(&mut self, f: impl Fn(&TokenInstance) -> bool) -> Option<&TokenInstance> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `identifier_not_found` is never used [INFO] [stdout] --> src/parser/v3/error.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ParserMsg { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn identifier_not_found(id: &Node) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fields` are never read [INFO] [stdout] --> src/parser/v3/nodes/struc.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PStruct { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 10 | pub name: Node, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub fields: PStructFields, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/v3/nodes/struc.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | Named(Vec>), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `PStructFields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | Named(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/v3/nodes/struc.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | Tuple(Vec>), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `PStructFields` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | Tuple(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fns` are never read [INFO] [stdout] --> src/parser/v3/nodes/trai.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct PTrait { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub name: Node, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub fns: Vec>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PTrait` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `trait_`, `for_`, and `fns` are never read [INFO] [stdout] --> src/parser/v3/nodes/trai.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct PImpl { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 14 | pub trait_: Node, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | pub for_: Node, [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | pub fns: Vec>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PImpl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_symbol_and` is never used [INFO] [stdout] --> src/parser/v3/token/mod.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl Token { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_symbol_and(&self, f: impl Fn(Symbol) -> bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `tryy` is never used [INFO] [stdout] --> src/util/bits.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 36 | impl BitsI32 { [INFO] [stdout] | -------------------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub const fn tryy(val: i32) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `lang` (bin "lang") due to 1 previous error; 67 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a653a4d0cd09db96c767f112547c1b8530c6deefc669a75543e6f5524ed7b9f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a653a4d0cd09db96c767f112547c1b8530c6deefc669a75543e6f5524ed7b9f9", kill_on_drop: false }` [INFO] [stdout] a653a4d0cd09db96c767f112547c1b8530c6deefc669a75543e6f5524ed7b9f9