[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