[INFO] cloning repository https://github.com/tino-platform/tino [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tino-platform/tino" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftino-platform%2Ftino", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftino-platform%2Ftino'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cdc77bb1fd6ca7013238a619b487d92c47672273 [INFO] testing tino-platform/tino against 1.77.0 for beta-1.78-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftino-platform%2Ftino" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tino-platform/tino on toolchain 1.77.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.77.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tino-platform/tino [INFO] finished tweaking git repo https://github.com/tino-platform/tino [INFO] tweaked toml for git repo https://github.com/tino-platform/tino written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tino-platform/tino 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" "+1.77.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded byteorder v1.1.0 [INFO] [stderr] Downloaded capnpc v0.8.7 [INFO] [stderr] Downloaded capnp v0.8.11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.77.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5f6a7872579728588b9c84d99ec755b5d16af2cfc2d76013322a052457e6fa97 [INFO] running `Command { std: "docker" "start" "-a" "5f6a7872579728588b9c84d99ec755b5d16af2cfc2d76013322a052457e6fa97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f6a7872579728588b9c84d99ec755b5d16af2cfc2d76013322a052457e6fa97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f6a7872579728588b9c84d99ec755b5d16af2cfc2d76013322a052457e6fa97", kill_on_drop: false }` [INFO] [stdout] 5f6a7872579728588b9c84d99ec755b5d16af2cfc2d76013322a052457e6fa97 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.77.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dc67d9963bcae7f79d4c275145617155f6af38f2fef171b25842301999d64c8b [INFO] running `Command { std: "docker" "start" "-a" "dc67d9963bcae7f79d4c275145617155f6af38f2fef171b25842301999d64c8b", kill_on_drop: false }` [INFO] [stderr] Compiling byteorder v1.1.0 [INFO] [stderr] Compiling libtruss-vm v0.1.0 (/opt/rustwide/workdir/vm) [INFO] [stdout] warning: unused import: `classload::ClassIdentifier` [INFO] [stdout] --> vm/src/vm/func.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use classload::ClassIdentifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &dyn Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:78 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &dyn Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &dyn Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> vm/src/vm/isn.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] 91 | [INFO] [stdout] 92 | p.stack.push(Object(idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/process/heap.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut funcs = vec![]; [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: `created` [INFO] [stdout] --> vm/src/vm/isn.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_created` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> vm/src/vm/isn.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class` [INFO] [stdout] --> vm/src/vm/isn.rs:180:45 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usize` [INFO] [stdout] --> vm/src/vm/isn.rs:180:52 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/vm/isn.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `functions` is never read [INFO] [stdout] --> vm/src/obj.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct VmClass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | functions: Vec> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmClass` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_field_at` is never used [INFO] [stdout] --> vm/src/process/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Process { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 22 | [INFO] [stdout] 23 | fn get_field_at(&self, index: HeapIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `flags` are never read [INFO] [stdout] --> vm/src/vm/func.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VmFunction { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub isns: Vec, [INFO] [stdout] 10 | flags: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling capnp v0.8.11 [INFO] [stderr] Compiling capnpc v0.8.7 [INFO] [stderr] Compiling libtruss-bytecode v0.1.0 (/opt/rustwide/workdir/bytecode) [INFO] [stdout] warning: fields `class_module`, `name`, and `generic_names` are never read [INFO] [stdout] --> bytecode/src/model.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClassId { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 6 | class_module: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 7 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | generic_names: Vec [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_module`, `class_name`, and `name` are never read [INFO] [stdout] --> bytecode/src/model.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FuncId { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 13 | func_module: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | class_name: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | name: String [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FuncId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `members`, and `funcs` are never read [INFO] [stdout] --> bytecode/src/model.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClassDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 19 | id: ClassId, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | funcs: Vec [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Specific` and `Generic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum TypeReference { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 25 | Specific(ClassId, Box>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | Generic(String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Byte`, `Integer`, `Reference`, and `Dynamic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | enum FieldType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 30 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | Reference(TypeReference), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | Dynamic(Option) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `generic_binds`, and `ops` are never read [INFO] [stdout] --> bytecode/src/model.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct FunctionDef { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 37 | id: FuncId, [INFO] [stdout] | ^^ [INFO] [stdout] 38 | generic_binds: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 39 | ops: Vec // TODO Figure out how these work. [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.60s [INFO] running `Command { std: "docker" "inspect" "dc67d9963bcae7f79d4c275145617155f6af38f2fef171b25842301999d64c8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc67d9963bcae7f79d4c275145617155f6af38f2fef171b25842301999d64c8b", kill_on_drop: false }` [INFO] [stdout] dc67d9963bcae7f79d4c275145617155f6af38f2fef171b25842301999d64c8b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.77.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ebe522f0e35b6c9da4941386965fdc4b96b61eedb675ecef34e103a66dc243b [INFO] running `Command { std: "docker" "start" "-a" "2ebe522f0e35b6c9da4941386965fdc4b96b61eedb675ecef34e103a66dc243b", kill_on_drop: false }` [INFO] [stderr] Compiling libtruss-vm v0.1.0 (/opt/rustwide/workdir/vm) [INFO] [stdout] warning: unused import: `classload::ClassIdentifier` [INFO] [stdout] --> vm/src/vm/func.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use classload::ClassIdentifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling libtruss-bytecode v0.1.0 (/opt/rustwide/workdir/bytecode) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &dyn Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:78 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &dyn Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &dyn Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> vm/src/vm/isn.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] 91 | [INFO] [stdout] 92 | p.stack.push(Object(idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/process/heap.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut funcs = vec![]; [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: `created` [INFO] [stdout] --> vm/src/vm/isn.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_created` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> vm/src/vm/isn.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class` [INFO] [stdout] --> vm/src/vm/isn.rs:180:45 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usize` [INFO] [stdout] --> vm/src/vm/isn.rs:180:52 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/vm/isn.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `functions` is never read [INFO] [stdout] --> vm/src/obj.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct VmClass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | functions: Vec> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmClass` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_field_at` is never used [INFO] [stdout] --> vm/src/process/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Process { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 22 | [INFO] [stdout] 23 | fn get_field_at(&self, index: HeapIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `flags` are never read [INFO] [stdout] --> vm/src/vm/func.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VmFunction { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub isns: Vec, [INFO] [stdout] 10 | flags: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `class_module`, `name`, and `generic_names` are never read [INFO] [stdout] --> bytecode/src/model.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClassId { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 6 | class_module: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 7 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | generic_names: Vec [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_module`, `class_name`, and `name` are never read [INFO] [stdout] --> bytecode/src/model.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FuncId { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 13 | func_module: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | class_name: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | name: String [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FuncId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `members`, and `funcs` are never read [INFO] [stdout] --> bytecode/src/model.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClassDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 19 | id: ClassId, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | funcs: Vec [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Specific` and `Generic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum TypeReference { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 25 | Specific(ClassId, Box>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | Generic(String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Byte`, `Integer`, `Reference`, and `Dynamic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | enum FieldType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 30 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | Reference(TypeReference), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | Dynamic(Option) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `generic_binds`, and `ops` are never read [INFO] [stdout] --> bytecode/src/model.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct FunctionDef { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 37 | id: FuncId, [INFO] [stdout] | ^^ [INFO] [stdout] 38 | generic_binds: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 39 | ops: Vec // TODO Figure out how these work. [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `class_module`, `name`, and `generic_names` are never read [INFO] [stdout] --> bytecode/src/model.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ClassId { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 6 | class_module: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 7 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | generic_names: Vec [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `func_module`, `class_name`, and `name` are never read [INFO] [stdout] --> bytecode/src/model.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FuncId { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 13 | func_module: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | class_name: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | name: String [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FuncId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `members`, and `funcs` are never read [INFO] [stdout] --> bytecode/src/model.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClassDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 19 | id: ClassId, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | funcs: Vec [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Specific` and `Generic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum TypeReference { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 25 | Specific(ClassId, Box>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 26 | Generic(String) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Byte`, `Integer`, `Reference`, and `Dynamic` are never constructed [INFO] [stdout] --> bytecode/src/model.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | enum FieldType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 30 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | Reference(TypeReference), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | Dynamic(Option) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `generic_binds`, and `ops` are never read [INFO] [stdout] --> bytecode/src/model.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct FunctionDef { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 37 | id: FuncId, [INFO] [stdout] | ^^ [INFO] [stdout] 38 | generic_binds: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 39 | ops: Vec // TODO Figure out how these work. [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `classload::ClassIdentifier` [INFO] [stdout] --> vm/src/vm/func.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use classload::ClassIdentifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &dyn Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:78 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &dyn Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &dyn Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> vm/src/vm/isn.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] 91 | [INFO] [stdout] 92 | p.stack.push(Object(idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/process/heap.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut funcs = vec![]; [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: `created` [INFO] [stdout] --> vm/src/vm/isn.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_created` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> vm/src/vm/isn.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class` [INFO] [stdout] --> vm/src/vm/isn.rs:180:45 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usize` [INFO] [stdout] --> vm/src/vm/isn.rs:180:52 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/vm/isn.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `functions` is never read [INFO] [stdout] --> vm/src/obj.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct VmClass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | functions: Vec> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmClass` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_field_at` is never used [INFO] [stdout] --> vm/src/process/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Process { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 22 | [INFO] [stdout] 23 | fn get_field_at(&self, index: HeapIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `flags` are never read [INFO] [stdout] --> vm/src/vm/func.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VmFunction { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub isns: Vec, [INFO] [stdout] 10 | flags: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.62s [INFO] running `Command { std: "docker" "inspect" "2ebe522f0e35b6c9da4941386965fdc4b96b61eedb675ecef34e103a66dc243b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ebe522f0e35b6c9da4941386965fdc4b96b61eedb675ecef34e103a66dc243b", kill_on_drop: false }` [INFO] [stdout] 2ebe522f0e35b6c9da4941386965fdc4b96b61eedb675ecef34e103a66dc243b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.77.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 748525a3691463d01883b83bcdfc5a5427a1a13e13fa0846ea0eb525ffd3090a [INFO] running `Command { std: "docker" "start" "-a" "748525a3691463d01883b83bcdfc5a5427a1a13e13fa0846ea0eb525ffd3090a", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `classload::ClassIdentifier` [INFO] [stderr] --> vm/src/vm/func.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use classload::ClassIdentifier; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> vm/src/classload.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | loader: Arc> [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 | loader: Arc> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> vm/src/classload.rs:31:29 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> vm/src/vm/isn.rs:233:50 [INFO] [stderr] | [INFO] [stderr] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &dyn Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> vm/src/vm/isn.rs:233:78 [INFO] [stderr] | [INFO] [stderr] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &dyn Fn(i64, i64) -> i64) -> Result { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> vm/src/vm/isn.rs:280:45 [INFO] [stderr] | [INFO] [stderr] 280 | fn helper_boolean_op(p: &mut Process, exp: &Fn(bool, bool) -> bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 280 | fn helper_boolean_op(p: &mut Process, exp: &dyn Fn(bool, bool) -> bool) -> Result { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> vm/src/vm/isn.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stderr] | ---------------- any code following this expression is unreachable [INFO] [stderr] 91 | [INFO] [stderr] 92 | p.stack.push(Object(idx)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> vm/src/process/heap.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut funcs = vec![]; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `created` [INFO] [stderr] --> vm/src/vm/isn.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_created` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `idx` [INFO] [stderr] --> vm/src/vm/isn.rs:90:21 [INFO] [stderr] | [INFO] [stderr] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `class` [INFO] [stderr] --> vm/src/vm/isn.rs:180:45 [INFO] [stderr] | [INFO] [stderr] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_class` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `usize` [INFO] [stderr] --> vm/src/vm/isn.rs:180:52 [INFO] [stderr] | [INFO] [stderr] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usize` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> vm/src/vm/isn.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `functions` is never read [INFO] [stderr] --> vm/src/obj.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct VmClass { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 42 | functions: Vec> [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `VmClass` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `get_field_at` is never used [INFO] [stderr] --> vm/src/process/mod.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 21 | impl Process { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] 22 | [INFO] [stderr] 23 | fn get_field_at(&self, index: HeapIndex) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `flags` are never read [INFO] [stderr] --> vm/src/vm/func.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct VmFunction { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 8 | name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 9 | pub isns: Vec, [INFO] [stderr] 10 | flags: u64, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `VmFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `libtruss-vm` (lib) generated 16 warnings (run `cargo fix --lib -p libtruss-vm` to apply 12 suggestions) [INFO] [stderr] warning: `libtruss-vm` (lib test) generated 16 warnings (16 duplicates) [INFO] [stderr] warning: fields `class_module`, `name`, and `generic_names` are never read [INFO] [stderr] --> bytecode/src/model.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct ClassId { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 6 | class_module: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 7 | name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | generic_names: Vec [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClassId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: fields `func_module`, `class_name`, and `name` are never read [INFO] [stderr] --> bytecode/src/model.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct FuncId { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 13 | func_module: String, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 14 | class_name: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 15 | name: String [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FuncId` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `members`, and `funcs` are never read [INFO] [stderr] --> bytecode/src/model.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct ClassDef { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] 19 | id: ClassId, [INFO] [stderr] | ^^ [INFO] [stderr] 20 | members: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 21 | funcs: Vec [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Specific` and `Generic` are never constructed [INFO] [stderr] --> bytecode/src/model.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 24 | enum TypeReference { [INFO] [stderr] | ------------- variants in this enum [INFO] [stderr] 25 | Specific(ClassId, Box>), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 26 | Generic(String) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Byte`, `Integer`, `Reference`, and `Dynamic` are never constructed [INFO] [stderr] --> bytecode/src/model.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 29 | enum FieldType { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 30 | Byte, [INFO] [stderr] | ^^^^ [INFO] [stderr] 31 | Integer, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 32 | Reference(TypeReference), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 33 | Dynamic(Option) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `id`, `generic_binds`, and `ops` are never read [INFO] [stderr] --> bytecode/src/model.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct FunctionDef { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 37 | id: FuncId, [INFO] [stderr] | ^^ [INFO] [stderr] 38 | generic_binds: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 39 | ops: Vec // TODO Figure out how these work. [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `libtruss-bytecode` (lib) generated 6 warnings [INFO] [stderr] warning: `libtruss-bytecode` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libtruss_bytecode-745646d3a81b8753) [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libtruss_vm-297128d10ac1f090) [INFO] [stderr] Doc-tests libtruss-bytecode [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests libtruss-vm [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "748525a3691463d01883b83bcdfc5a5427a1a13e13fa0846ea0eb525ffd3090a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "748525a3691463d01883b83bcdfc5a5427a1a13e13fa0846ea0eb525ffd3090a", kill_on_drop: false }` [INFO] [stdout] 748525a3691463d01883b83bcdfc5a5427a1a13e13fa0846ea0eb525ffd3090a [INFO] testing tino-platform/tino against beta-2024-03-24 for beta-1.78-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftino-platform%2Ftino" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tino-platform/tino on toolchain beta-2024-03-24 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-03-24" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tino-platform/tino [INFO] finished tweaking git repo https://github.com/tino-platform/tino [INFO] tweaked toml for git repo https://github.com/tino-platform/tino written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/tino-platform/tino 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" "+beta-2024-03-24" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-03-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e114012b30b89abc7ef72a9dfeff58dcc80225538a05f4a163687f37e65134e3 [INFO] running `Command { std: "docker" "start" "-a" "e114012b30b89abc7ef72a9dfeff58dcc80225538a05f4a163687f37e65134e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e114012b30b89abc7ef72a9dfeff58dcc80225538a05f4a163687f37e65134e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e114012b30b89abc7ef72a9dfeff58dcc80225538a05f4a163687f37e65134e3", kill_on_drop: false }` [INFO] [stdout] e114012b30b89abc7ef72a9dfeff58dcc80225538a05f4a163687f37e65134e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-03-24" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0cec178f2f65877e8b703ca0773810b0b9bb2ef4e128d94405efc9860f2cabcd [INFO] running `Command { std: "docker" "start" "-a" "0cec178f2f65877e8b703ca0773810b0b9bb2ef4e128d94405efc9860f2cabcd", kill_on_drop: false }` [INFO] [stderr] Compiling byteorder v1.1.0 [INFO] [stderr] Compiling libtruss-vm v0.1.0 (/opt/rustwide/workdir/vm) [INFO] [stdout] warning: unused import: `classload::ClassIdentifier` [INFO] [stdout] --> vm/src/vm/func.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use classload::ClassIdentifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | loader: Arc> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/classload.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(src: Arc>) -> ClassPool { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &dyn Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:233:78 [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn helper_intbyte_op(p: &mut Process, byte_exp: &Fn(u8, u8) -> u8, int_exp: &dyn Fn(i64, i64) -> i64) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> vm/src/vm/isn.rs:280:45 [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | fn helper_boolean_op(p: &mut Process, exp: &dyn Fn(bool, bool) -> bool) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> vm/src/vm/isn.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ---------------- any code following this expression is unreachable [INFO] [stdout] 91 | [INFO] [stdout] 92 | p.stack.push(Object(idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/process/heap.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let mut funcs = vec![]; [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: `created` [INFO] [stdout] --> vm/src/vm/isn.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_created` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> vm/src/vm/isn.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | let idx = unimplemented!(); // TODO Add the object to the heap and get a reference. [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class` [INFO] [stdout] --> vm/src/vm/isn.rs:180:45 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usize` [INFO] [stdout] --> vm/src/vm/isn.rs:180:52 [INFO] [stdout] | [INFO] [stdout] 180 | &Instruction::InvokeVirtual(ref class, usize) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> vm/src/vm/isn.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | let mut created = HeapObject::new(class.clone()); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `functions` is never read [INFO] [stdout] --> vm/src/obj.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct VmClass { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | functions: Vec> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmClass` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_field_at` is never used [INFO] [stdout] --> vm/src/process/mod.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl Process { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 22 | [INFO] [stdout] 23 | fn get_field_at(&self, index: HeapIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `flags` are never read [INFO] [stdout] --> vm/src/vm/func.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct VmFunction { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub isns: Vec, [INFO] [stdout] 10 | flags: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VmFunction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling capnp v0.8.11 [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling capnpc v0.8.7 [INFO] [stderr] Compiling libtruss-bytecode v0.1.0 (/opt/rustwide/workdir/bytecode) [INFO] [stderr] error: failed to run custom build command for `libtruss-bytecode v0.1.0 (/opt/rustwide/workdir/bytecode)` [INFO] [stderr] note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation. [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/build/libtruss-bytecode-cd3e12a218d8a4cc/build-script-build` (signal: 6, SIGABRT: process abort signal) [INFO] [stderr] --- stderr [INFO] [stderr] thread 'main' panicked at library/core/src/panicking.rs:156:5: [INFO] [stderr] unsafe precondition(s) violated: slice::from_raw_parts requires the pointer to be aligned and non-null, and the total size of the slice not to exceed `isize::MAX` [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x5582f74d0072 - std::backtrace_rs::backtrace::libunwind::trace::hf591c4fa475b521b [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5 [INFO] [stderr] 1: 0x5582f74d0072 - std::backtrace_rs::backtrace::trace_unsynchronized::hce0fc3788d7159a9 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stderr] 2: 0x5582f74d0072 - std::sys_common::backtrace::_print_fmt::he2d1cbe468040257 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/sys_common/backtrace.rs:68:5 [INFO] [stderr] 3: 0x5582f74d0072 - ::fmt::h2c24b8bf09043006 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/sys_common/backtrace.rs:44:22 [INFO] [stderr] 4: 0x5582f74f60bc - core::fmt::rt::Argument::fmt::h982f45771e9ecd8b [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/fmt/rt.rs:142:9 [INFO] [stderr] 5: 0x5582f74f60bc - core::fmt::write::h08d521d188b46bd0 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/fmt/mod.rs:1153:17 [INFO] [stderr] 6: 0x5582f74cdc5f - std::io::Write::write_fmt::h30d389991f37d75e [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/io/mod.rs:1843:15 [INFO] [stderr] 7: 0x5582f74cfe44 - std::sys_common::backtrace::_print::h3e781da3859a0efa [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/sys_common/backtrace.rs:47:5 [INFO] [stderr] 8: 0x5582f74cfe44 - std::sys_common::backtrace::print::he5e9ec6ac18663c5 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/sys_common/backtrace.rs:34:9 [INFO] [stderr] 9: 0x5582f74d130b - std::panicking::default_hook::{{closure}}::hb05b3618b96e9a16 [INFO] [stderr] 10: 0x5582f74d1063 - std::panicking::default_hook::ha92ce0e319b86adc [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:292:9 [INFO] [stderr] 11: 0x5582f74d17ad - std::panicking::rust_panic_with_hook::h0843a0c6d846e961 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:779:13 [INFO] [stderr] 12: 0x5582f74d1649 - std::panicking::begin_panic_handler::{{closure}}::h089f044d920e4ed4 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:649:13 [INFO] [stderr] 13: 0x5582f74d0546 - std::sys_common::backtrace::__rust_end_short_backtrace::h17a752ec00eb4307 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/sys_common/backtrace.rs:171:18 [INFO] [stderr] 14: 0x5582f74d13b4 - rust_begin_unwind [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:645:5 [INFO] [stderr] 15: 0x5582f74241ba - core::panicking::panic_nounwind_fmt::runtime::h762a01e9781b3200 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/panicking.rs:110:18 [INFO] [stderr] 16: 0x5582f74241ba - core::panicking::panic_nounwind_fmt::hc6c08c4591994c18 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/panicking.rs:123:9 [INFO] [stderr] 17: 0x5582f7424269 - core::panicking::panic_nounwind::h375e432f93a2f928 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/panicking.rs:156:5 [INFO] [stderr] 18: 0x5582f74a3ad8 - core::slice::raw::from_raw_parts::precondition_check::h77aac9f17646070c [INFO] [stderr] 19: 0x5582f74a3a35 - core::slice::raw::from_raw_parts::h5fdb9c12670affc6 [INFO] [stderr] 20: 0x5582f74af184 - capnp::private::layout::wire_helpers::read_text_pointer::h04cc55e75717053e [INFO] [stderr] 21: 0x5582f74a121e - capnp::private::layout::PointerReader::get_text::he7f180fa81511e5d [INFO] [stderr] 22: 0x5582f74387c5 - capnpc::schema_capnp::value::Reader::which::h055aa787008cd962 [INFO] [stderr] 23: 0x5582f744cd33 - capnpc::codegen::getter_text::h1933c4eb30e2bca1 [INFO] [stderr] 24: 0x5582f7472dd2 - capnpc::codegen::generate_node::h8559d81ca28827a9 [INFO] [stderr] 25: 0x5582f7489db6 - capnpc::codegen::generate_node::h8559d81ca28827a9 [INFO] [stderr] 26: 0x5582f748b070 - capnpc::codegen::main::h6e62595ae5d90388 [INFO] [stderr] 27: 0x5582f742cf14 - capnpc::run_command::h2028c27008fc31de [INFO] [stderr] 28: 0x5582f742d732 - capnpc::CompilerCommand::run::he4f4556715a5a2d7 [INFO] [stderr] 29: 0x5582f742515a - build_script_build::main::h407c773a80d9b28d [INFO] [stderr] 30: 0x5582f74249b3 - core::ops::function::FnOnce::call_once::h03e0c152884e0ea5 [INFO] [stderr] 31: 0x5582f7424936 - std::sys_common::backtrace::__rust_begin_short_backtrace::hcb9ae735ae1f0556 [INFO] [stderr] 32: 0x5582f7424989 - std::rt::lang_start::{{closure}}::ha2fe8c9a37240f5f [INFO] [stderr] 33: 0x5582f74ca483 - core::ops::function::impls:: for &F>::call_once::ha55599606c4801fa [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/core/src/ops/function.rs:284:13 [INFO] [stderr] 34: 0x5582f74ca483 - std::panicking::try::do_call::hdbe0105e9cf1e2ee [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:552:40 [INFO] [stderr] 35: 0x5582f74ca483 - std::panicking::try::hc30968547c4c042b [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:516:19 [INFO] [stderr] 36: 0x5582f74ca483 - std::panic::catch_unwind::hd3d3f133d01e085b [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panic.rs:146:14 [INFO] [stderr] 37: 0x5582f74ca483 - std::rt::lang_start_internal::{{closure}}::h6e4de722777ae3c2 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/rt.rs:148:48 [INFO] [stderr] 38: 0x5582f74ca483 - std::panicking::try::do_call::h46b94aee435e7f57 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:552:40 [INFO] [stderr] 39: 0x5582f74ca483 - std::panicking::try::h1ffb076bbe218058 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panicking.rs:516:19 [INFO] [stderr] 40: 0x5582f74ca483 - std::panic::catch_unwind::h9edee6e761ecfcb7 [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/panic.rs:146:14 [INFO] [stderr] 41: 0x5582f74ca483 - std::rt::lang_start_internal::h6114988f93cc8d0a [INFO] [stderr] at /rustc/277d06bc95c6c38a2337ccde798b2c709384bd84/library/std/src/rt.rs:148:20 [INFO] [stderr] 42: 0x5582f7424967 - std::rt::lang_start::h261e2bbb3dd64751 [INFO] [stderr] 43: 0x5582f74251c5 - main [INFO] [stderr] 44: 0x7f4537af5d90 - [INFO] [stderr] 45: 0x7f4537af5e40 - __libc_start_main [INFO] [stderr] 46: 0x5582f7424865 - _start [INFO] [stderr] 47: 0x0 - [INFO] [stderr] thread caused non-unwinding panic. aborting. [INFO] running `Command { std: "docker" "inspect" "0cec178f2f65877e8b703ca0773810b0b9bb2ef4e128d94405efc9860f2cabcd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cec178f2f65877e8b703ca0773810b0b9bb2ef4e128d94405efc9860f2cabcd", kill_on_drop: false }` [INFO] [stdout] 0cec178f2f65877e8b703ca0773810b0b9bb2ef4e128d94405efc9860f2cabcd