[INFO] fetching crate spaik 0.3.1... [INFO] testing spaik-0.3.1 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate spaik 0.3.1 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate spaik 0.3.1 [INFO] finished tweaking crates.io crate spaik 0.3.1 [INFO] tweaked toml for crates.io crate spaik 0.3.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate spaik 0.3.1 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate spaik 0.3.1 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-2025-09-21" "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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe50687b198a6eeba4706ddba4902fa6f887218e6798737a95a7c15ad90af220 [INFO] running `Command { std: "docker" "start" "-a" "fe50687b198a6eeba4706ddba4902fa6f887218e6798737a95a7c15ad90af220", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe50687b198a6eeba4706ddba4902fa6f887218e6798737a95a7c15ad90af220", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe50687b198a6eeba4706ddba4902fa6f887218e6798737a95a7c15ad90af220", kill_on_drop: false }` [INFO] [stdout] fe50687b198a6eeba4706ddba4902fa6f887218e6798737a95a7c15ad90af220 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5771c9833ae236d3b98f2bd8d85636a0dc0cdb5cefe20ce63c8317809cbf474b [INFO] running `Command { std: "docker" "start" "-a" "5771c9833ae236d3b98f2bd8d85636a0dc0cdb5cefe20ce63c8317809cbf474b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.55 [INFO] [stderr] Compiling unicode-ident v1.0.8 [INFO] [stderr] Compiling quote v1.0.26 [INFO] [stderr] Compiling libc v0.2.140 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling siphasher v0.3.10 [INFO] [stderr] Compiling serde_derive v1.0.159 [INFO] [stderr] Compiling serde v1.0.159 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling rustversion v1.0.12 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling winnow v0.4.1 [INFO] [stderr] Compiling toml_datetime v0.6.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling is_ci v1.1.1 [INFO] [stderr] Compiling unicode-width v0.1.10 [INFO] [stderr] Compiling once_cell v1.17.1 [INFO] [stderr] Compiling mint v0.5.9 [INFO] [stderr] Compiling strum v0.23.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling phf_shared v0.11.1 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling phf_generator v0.11.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling syn v2.0.13 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling toml_edit v0.19.8 [INFO] [stderr] Compiling supports-color v1.3.1 [INFO] [stderr] Compiling dirs-next v1.0.2 [INFO] [stderr] Compiling owo-colors v3.5.0 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling strum_macros v0.23.1 [INFO] [stderr] Compiling phf_macros v0.11.1 [INFO] [stderr] Compiling spaik-proc-macros v0.1.0 [INFO] [stderr] Compiling rustyline v6.3.0 [INFO] [stderr] Compiling phf v0.11.1 [INFO] [stderr] Compiling comfy-table v5.0.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling glam v0.21.3 [INFO] [stderr] Compiling spaik v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/nuke.rs:1327:13 [INFO] [stdout] | [INFO] [stdout] 1327 | let mut cur = align_mut(self.free as *mut NkAtom, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `dialect`, `id`, and `from_str` are never used [INFO] [stdout] --> src/chasm.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub trait ChASMOpName { [INFO] [stdout] | ----------- associated items in this trait [INFO] [stdout] 149 | fn dialect(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 150 | fn id(&self) -> OpCode; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn from_str(s: &str) -> Option [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SymTypeOf` is never used [INFO] [stdout] --> src/nkgc.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub trait SymTypeOf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stream` is never constructed [INFO] [stdout] --> src/nkgc.rs:1091:12 [INFO] [stdout] | [INFO] [stdout] 1091 | pub struct Stream { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ILambda` is never constructed [INFO] [stdout] --> src/nkgc.rs:1108:12 [INFO] [stdout] | [INFO] [stdout] 1108 | pub struct ILambda { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SizeOf` is never used [INFO] [stdout] --> src/nkgc.rs:1115:11 [INFO] [stdout] | [INFO] [stdout] 1115 | pub trait SizeOf { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TailCall` is never constructed [INFO] [stdout] --> src/ast.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum M { [INFO] [stdout] | - variant in this enum [INFO] [stdout] ... [INFO] [stdout] 58 | TailCall(Progn), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `M` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Div(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 97 - Div(&'a M, &'a M), [INFO] [stdout] 97 + Div((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Mul(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 98 - Mul(&'a M, &'a M), [INFO] [stdout] 98 + Mul((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrinterVisitor` is never constructed [INFO] [stdout] --> src/ast.rs:861:12 [INFO] [stdout] | [INFO] [stdout] 861 | pub struct PrinterVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FindLoopBreak` is never constructed [INFO] [stdout] --> src/opt.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | struct FindLoopBreak crate::Result<()>>(F); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TCOptomat` is never constructed [INFO] [stdout] --> src/opt.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct TCOptomat { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Hexable` is never used [INFO] [stdout] --> src/builtins.rs:138:11 [INFO] [stdout] | [INFO] [stdout] 138 | pub trait Hexable { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hex` is never constructed [INFO] [stdout] --> src/builtins.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct Hex(pub T) where T: LowerHex; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 803 | | (PV, Builtin::Ref, crate::nkgc::PV), [INFO] [stdout] | | -- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 805 | | (Vec4, Builtin::Vec4, glam::Vec4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 806 | | (Mat2, Builtin::Mat2, glam::Mat2), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 807 | | (Mat3, Builtin::Mat3, glam::Mat3), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 808 | | (Mat4, Builtin::Mat4, glam::Mat4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawDebugStr` is never constructed [INFO] [stdout] --> src/nuke.rs:1432:8 [INFO] [stdout] | [INFO] [stdout] 1432 | struct RawDebugStr<'a>(&'a str); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugHexBytes` is never constructed [INFO] [stdout] --> src/nuke.rs:1440:8 [INFO] [stdout] | [INFO] [stdout] 1440 | struct DebugHexBytes<'a>(&'a [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModuleMeta` is never constructed [INFO] [stdout] --> src/module.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ModuleMeta { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `style_asm_var` is never used [INFO] [stdout] --> src/stylize.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Stylize: OwoColorize { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | style_asm_var { style().cyan().bold() } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `def_styles` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^-----------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 357 | (&(*fastcast::>(self.vec))).get(idx).copied() [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/nkgc.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u8::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(&(*s))[..])}) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^-^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1967 | (&(*v)).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^-^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [PV]` [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:682:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1986 | *(&mut (*v)).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^-^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/string.rs:1854:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1996 | String(s) => { Ok((&(*s)).len()) }, [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast.rs:110:19 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2, (&Source, &Source))> { [INFO] [stdout] | ^^^^^ ^^ ^^^^^^^ ^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2<'_>, (&Source, &Source))> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tok.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.05s [INFO] running `Command { std: "docker" "inspect" "5771c9833ae236d3b98f2bd8d85636a0dc0cdb5cefe20ce63c8317809cbf474b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5771c9833ae236d3b98f2bd8d85636a0dc0cdb5cefe20ce63c8317809cbf474b", kill_on_drop: false }` [INFO] [stdout] 5771c9833ae236d3b98f2bd8d85636a0dc0cdb5cefe20ce63c8317809cbf474b [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6e4f6338892c7d70e1dc7470817a8c3ab8216a7442b3794b43cf016a482a5f8 [INFO] running `Command { std: "docker" "start" "-a" "b6e4f6338892c7d70e1dc7470817a8c3ab8216a7442b3794b43cf016a482a5f8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.55 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling aho-corasick v0.7.20 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling rustyline v6.3.0 [INFO] [stderr] Compiling quote v1.0.26 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling syn v2.0.13 [INFO] [stderr] Compiling iai_macro v0.1.1 [INFO] [stderr] Compiling iai v0.1.1 [INFO] [stderr] Compiling regex v1.7.3 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling pretty_env_logger v0.4.0 [INFO] [stderr] Compiling serde_derive v1.0.159 [INFO] [stderr] Compiling phf_macros v0.11.1 [INFO] [stderr] Compiling strum_macros v0.23.1 [INFO] [stderr] Compiling spaik-proc-macros v0.1.0 [INFO] [stderr] Compiling phf v0.11.1 [INFO] [stderr] Compiling comfy-table v5.0.1 [INFO] [stderr] Compiling serde v1.0.159 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling glam v0.21.3 [INFO] [stderr] Compiling spaik v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/nuke.rs:1327:13 [INFO] [stdout] | [INFO] [stdout] 1327 | let mut cur = align_mut(self.free as *mut NkAtom, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/nuke.rs:1327:13 [INFO] [stdout] | [INFO] [stdout] 1327 | let mut cur = align_mut(self.free as *mut NkAtom, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `dialect`, `id`, and `from_str` are never used [INFO] [stdout] --> src/chasm.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub trait ChASMOpName { [INFO] [stdout] | ----------- associated items in this trait [INFO] [stdout] 149 | fn dialect(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 150 | fn id(&self) -> OpCode; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn from_str(s: &str) -> Option [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SymTypeOf` is never used [INFO] [stdout] --> src/nkgc.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub trait SymTypeOf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stream` is never constructed [INFO] [stdout] --> src/nkgc.rs:1091:12 [INFO] [stdout] | [INFO] [stdout] 1091 | pub struct Stream { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ILambda` is never constructed [INFO] [stdout] --> src/nkgc.rs:1108:12 [INFO] [stdout] | [INFO] [stdout] 1108 | pub struct ILambda { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SizeOf` is never used [INFO] [stdout] --> src/nkgc.rs:1115:11 [INFO] [stdout] | [INFO] [stdout] 1115 | pub trait SizeOf { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TailCall` is never constructed [INFO] [stdout] --> src/ast.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum M { [INFO] [stdout] | - variant in this enum [INFO] [stdout] ... [INFO] [stdout] 58 | TailCall(Progn), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `M` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Div(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 97 - Div(&'a M, &'a M), [INFO] [stdout] 97 + Div((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Mul(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 98 - Mul(&'a M, &'a M), [INFO] [stdout] 98 + Mul((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrinterVisitor` is never constructed [INFO] [stdout] --> src/ast.rs:861:12 [INFO] [stdout] | [INFO] [stdout] 861 | pub struct PrinterVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FindLoopBreak` is never constructed [INFO] [stdout] --> src/opt.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | struct FindLoopBreak crate::Result<()>>(F); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TCOptomat` is never constructed [INFO] [stdout] --> src/opt.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct TCOptomat { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Hexable` is never used [INFO] [stdout] --> src/builtins.rs:138:11 [INFO] [stdout] | [INFO] [stdout] 138 | pub trait Hexable { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hex` is never constructed [INFO] [stdout] --> src/builtins.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct Hex(pub T) where T: LowerHex; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 803 | | (PV, Builtin::Ref, crate::nkgc::PV), [INFO] [stdout] | | -- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 805 | | (Vec4, Builtin::Vec4, glam::Vec4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 806 | | (Mat2, Builtin::Mat2, glam::Mat2), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 807 | | (Mat3, Builtin::Mat3, glam::Mat3), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 808 | | (Mat4, Builtin::Mat4, glam::Mat4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawDebugStr` is never constructed [INFO] [stdout] --> src/nuke.rs:1432:8 [INFO] [stdout] | [INFO] [stdout] 1432 | struct RawDebugStr<'a>(&'a str); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugHexBytes` is never constructed [INFO] [stdout] --> src/nuke.rs:1440:8 [INFO] [stdout] | [INFO] [stdout] 1440 | struct DebugHexBytes<'a>(&'a [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModuleMeta` is never constructed [INFO] [stdout] --> src/module.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ModuleMeta { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `style_asm_var` is never used [INFO] [stdout] --> src/stylize.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Stylize: OwoColorize { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | style_asm_var { style().cyan().bold() } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `def_styles` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^-----------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 357 | (&(*fastcast::>(self.vec))).get(idx).copied() [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/nkgc.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u8::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(&(*s))[..])}) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^-^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1967 | (&(*v)).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^-^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [PV]` [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:682:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1986 | *(&mut (*v)).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^-^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/string.rs:1854:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1996 | String(s) => { Ok((&(*s)).len()) }, [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast.rs:110:19 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2, (&Source, &Source))> { [INFO] [stdout] | ^^^^^ ^^ ^^^^^^^ ^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2<'_>, (&Source, &Source))> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tok.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `dialect`, `id`, and `from_str` are never used [INFO] [stdout] --> src/chasm.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub trait ChASMOpName { [INFO] [stdout] | ----------- associated items in this trait [INFO] [stdout] 149 | fn dialect(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 150 | fn id(&self) -> OpCode; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn from_str(s: &str) -> Option [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SymTypeOf` is never used [INFO] [stdout] --> src/nkgc.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | pub trait SymTypeOf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stream` is never constructed [INFO] [stdout] --> src/nkgc.rs:1091:12 [INFO] [stdout] | [INFO] [stdout] 1091 | pub struct Stream { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ILambda` is never constructed [INFO] [stdout] --> src/nkgc.rs:1108:12 [INFO] [stdout] | [INFO] [stdout] 1108 | pub struct ILambda { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SizeOf` is never used [INFO] [stdout] --> src/nkgc.rs:1115:11 [INFO] [stdout] | [INFO] [stdout] 1115 | pub trait SizeOf { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TailCall` is never constructed [INFO] [stdout] --> src/ast.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum M { [INFO] [stdout] | - variant in this enum [INFO] [stdout] ... [INFO] [stdout] 58 | TailCall(Progn), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `M` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | Div(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 97 - Div(&'a M, &'a M), [INFO] [stdout] 97 + Div((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/ast.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | Mul(&'a M, &'a M), [INFO] [stdout] | --- ^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 98 - Mul(&'a M, &'a M), [INFO] [stdout] 98 + Mul((), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrinterVisitor` is never constructed [INFO] [stdout] --> src/ast.rs:861:12 [INFO] [stdout] | [INFO] [stdout] 861 | pub struct PrinterVisitor; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FindLoopBreak` is never constructed [INFO] [stdout] --> src/opt.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | struct FindLoopBreak crate::Result<()>>(F); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TCOptomat` is never constructed [INFO] [stdout] --> src/opt.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct TCOptomat { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Hexable` is never used [INFO] [stdout] --> src/builtins.rs:138:11 [INFO] [stdout] | [INFO] [stdout] 138 | pub trait Hexable { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hex` is never constructed [INFO] [stdout] --> src/builtins.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct Hex(pub T) where T: LowerHex; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 803 | | (PV, Builtin::Ref, crate::nkgc::PV), [INFO] [stdout] | | -- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 805 | | (Vec4, Builtin::Vec4, glam::Vec4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 806 | | (Mat2, Builtin::Mat2, glam::Mat2), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 807 | | (Mat3, Builtin::Mat3, glam::Mat3), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/nuke.rs:97:31 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | / fissile_types! { [INFO] [stdout] 798 | | (Void, Builtin::Void, Void), [INFO] [stdout] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stdout] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stdout] ... | [INFO] [stdout] 808 | | (Mat4, Builtin::Mat4, glam::Mat4), [INFO] [stdout] | | ---- field in this variant [INFO] [stdout] ... | [INFO] [stdout] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stdout] 813 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stdout] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawDebugStr` is never constructed [INFO] [stdout] --> src/nuke.rs:1432:8 [INFO] [stdout] | [INFO] [stdout] 1432 | struct RawDebugStr<'a>(&'a str); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugHexBytes` is never constructed [INFO] [stdout] --> src/nuke.rs:1440:8 [INFO] [stdout] | [INFO] [stdout] 1440 | struct DebugHexBytes<'a>(&'a [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModuleMeta` is never constructed [INFO] [stdout] --> src/module.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ModuleMeta { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `style_asm_var` is never used [INFO] [stdout] --> src/stylize.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Stylize: OwoColorize { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | style_asm_var { style().cyan().bold() } [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `def_styles` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^-----------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[nkgc::PV]` [INFO] [stdout] --> src/nkgc.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 357 | (&(*fastcast::>(self.vec))).get(idx).copied() [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/nkgc.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn str(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/nkgc.rs:385:31 [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 385 | Ok(Cow::Borrowed(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/chasm.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stdout] | -------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u8::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] ::: src/r8vm.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / chasm_def! { [INFO] [stdout] 28 | | r8c: [INFO] [stdout] ... | [INFO] [stdout] 112 | | MUL() [INFO] [stdout] 113 | | } [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1197:58 [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(&(*s))[..])}) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^-^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&[nkgc::PV]` [INFO] [stdout] --> src/r8vm.rs:1967:25 [INFO] [stdout] | [INFO] [stdout] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1967 | (&(*v)).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^-^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut Vec` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [nkgc::PV]` [INFO] [stdout] --> src/r8vm.rs:1986:30 [INFO] [stdout] | [INFO] [stdout] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:682:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1986 | *(&mut (*v)).get_unchecked_mut(idx) = args[0]; [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^-^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:1996:59 [INFO] [stdout] | [INFO] [stdout] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stdout] | ^^^^ [INFO] [stdout] note: method calls to `len` require a reference [INFO] [stdout] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/string.rs:1854:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1996 | String(s) => { Ok((&(*s)).len()) }, [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^-^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const std::string::String` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stdout] --> src/r8vm.rs:339:35 [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stdout] | ^^^^ [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 339 | Ok(Cow::from(&(&(*s))[..])) [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast.rs:110:19 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2, (&Source, &Source))> { [INFO] [stdout] | ^^^^^ ^^ ^^^^^^^ ^^^^^^^ the same lifetime is elided here [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 110 | pub fn binary(&self) -> Option<(M2<'_>, (&Source, &Source))> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tok.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option { [INFO] [stdout] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn inner_str(&self) -> Option> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 28.21s [INFO] running `Command { std: "docker" "inspect" "b6e4f6338892c7d70e1dc7470817a8c3ab8216a7442b3794b43cf016a482a5f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6e4f6338892c7d70e1dc7470817a8c3ab8216a7442b3794b43cf016a482a5f8", kill_on_drop: false }` [INFO] [stdout] b6e4f6338892c7d70e1dc7470817a8c3ab8216a7442b3794b43cf016a482a5f8 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 33212334a27943ecd4cb3466fd8943034d863605b4c69852192940d51774daa0 [INFO] running `Command { std: "docker" "start" "-a" "33212334a27943ecd4cb3466fd8943034d863605b4c69852192940d51774daa0", kill_on_drop: false }` [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/nuke.rs:1327:13 [INFO] [stderr] | [INFO] [stderr] 1327 | let mut cur = align_mut(self.free as *mut NkAtom, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `dialect`, `id`, and `from_str` are never used [INFO] [stderr] --> src/chasm.rs:149:8 [INFO] [stderr] | [INFO] [stderr] 148 | pub trait ChASMOpName { [INFO] [stderr] | ----------- associated items in this trait [INFO] [stderr] 149 | fn dialect(&self) -> &'static str; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 150 | fn id(&self) -> OpCode; [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 153 | fn from_str(s: &str) -> Option [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: trait `SymTypeOf` is never used [INFO] [stderr] --> src/nkgc.rs:64:11 [INFO] [stderr] | [INFO] [stderr] 64 | pub trait SymTypeOf { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Stream` is never constructed [INFO] [stderr] --> src/nkgc.rs:1091:12 [INFO] [stderr] | [INFO] [stderr] 1091 | pub struct Stream { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ILambda` is never constructed [INFO] [stderr] --> src/nkgc.rs:1108:12 [INFO] [stderr] | [INFO] [stderr] 1108 | pub struct ILambda { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `SizeOf` is never used [INFO] [stderr] --> src/nkgc.rs:1115:11 [INFO] [stderr] | [INFO] [stderr] 1115 | pub trait SizeOf { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `TailCall` is never constructed [INFO] [stderr] --> src/ast.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub enum M { [INFO] [stderr] | - variant in this enum [INFO] [stderr] ... [INFO] [stderr] 58 | TailCall(Progn), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `M` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `0` and `1` are never read [INFO] [stderr] --> src/ast.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | Div(&'a M, &'a M), [INFO] [stderr] | --- ^^^^^ ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stderr] | [INFO] [stderr] 97 - Div(&'a M, &'a M), [INFO] [stderr] 97 + Div((), ()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: fields `0` and `1` are never read [INFO] [stderr] --> src/ast.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | Mul(&'a M, &'a M), [INFO] [stderr] | --- ^^^^^ ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `M2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stderr] | [INFO] [stderr] 98 - Mul(&'a M, &'a M), [INFO] [stderr] 98 + Mul((), ()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: struct `PrinterVisitor` is never constructed [INFO] [stderr] --> src/ast.rs:861:12 [INFO] [stderr] | [INFO] [stderr] 861 | pub struct PrinterVisitor; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FindLoopBreak` is never constructed [INFO] [stderr] --> src/opt.rs:152:8 [INFO] [stderr] | [INFO] [stderr] 152 | struct FindLoopBreak crate::Result<()>>(F); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TCOptomat` is never constructed [INFO] [stderr] --> src/opt.rs:168:12 [INFO] [stderr] | [INFO] [stderr] 168 | pub struct TCOptomat { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Hexable` is never used [INFO] [stderr] --> src/builtins.rs:138:11 [INFO] [stderr] | [INFO] [stderr] 138 | pub trait Hexable { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Hex` is never constructed [INFO] [stderr] --> src/builtins.rs:142:8 [INFO] [stderr] | [INFO] [stderr] 142 | struct Hex(pub T) where T: LowerHex; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 803 | | (PV, Builtin::Ref, crate::nkgc::PV), [INFO] [stderr] | | -- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 805 | | (Vec4, Builtin::Vec4, glam::Vec4), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 806 | | (Mat2, Builtin::Mat2, glam::Mat2), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 807 | | (Mat3, Builtin::Mat3, glam::Mat3), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/nuke.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 797 | / fissile_types! { [INFO] [stderr] 798 | | (Void, Builtin::Void, Void), [INFO] [stderr] 799 | | (Cons, Builtin::Cons, crate::nkgc::Cons), [INFO] [stderr] 800 | | (Intr, Builtin::Intr, crate::nuke::Intr), [INFO] [stderr] ... | [INFO] [stderr] 808 | | (Mat4, Builtin::Mat4, glam::Mat4), [INFO] [stderr] | | ---- field in this variant [INFO] [stderr] ... | [INFO] [stderr] 812 | | (Subroutine, Builtin::Subr, Box) [INFO] [stderr] 813 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `NkMut` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: this warning originates in the macro `fissile_types` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 97 - pub enum NkMut { $($t(*mut $path)),+ } [INFO] [stderr] 97 + pub enum NkMut { $($t(())),+ } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: struct `RawDebugStr` is never constructed [INFO] [stderr] --> src/nuke.rs:1432:8 [INFO] [stderr] | [INFO] [stderr] 1432 | struct RawDebugStr<'a>(&'a str); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DebugHexBytes` is never constructed [INFO] [stderr] --> src/nuke.rs:1440:8 [INFO] [stderr] | [INFO] [stderr] 1440 | struct DebugHexBytes<'a>(&'a [u8]); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ModuleMeta` is never constructed [INFO] [stderr] --> src/module.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct ModuleMeta { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `style_asm_var` is never used [INFO] [stderr] --> src/stylize.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub trait Stylize: OwoColorize { [INFO] [stderr] | ------- method in this trait [INFO] [stderr] ... [INFO] [stderr] 32 | style_asm_var { style().cyan().bold() } [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `def_styles` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/nkgc.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stderr] | ^^-----------------------------^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stderr] --> src/nkgc.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] note: method calls to `get` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stderr] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 357 | (&(*fastcast::>(self.vec))).get(idx).copied() [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/nkgc.rs:383:16 [INFO] [stderr] | [INFO] [stderr] 383 | pub fn str(&self) -> Cow { [INFO] [stderr] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 383 | pub fn str(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/nkgc.rs:385:31 [INFO] [stderr] | [INFO] [stderr] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stderr] | ^^-^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const std::string::String` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stderr] --> src/nkgc.rs:385:31 [INFO] [stderr] | [INFO] [stderr] 385 | Ok(Cow::Borrowed(&(*s)[..])) [INFO] [stderr] | ^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 385 | Ok(Cow::Borrowed(&(&(*s))[..])) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/chasm.rs:264:51 [INFO] [stderr] | [INFO] [stderr] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stderr] | -------------------^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u32::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] ::: src/r8vm.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / chasm_def! { [INFO] [stderr] 28 | | r8c: [INFO] [stderr] ... | [INFO] [stderr] 112 | | MUL() [INFO] [stderr] 113 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/chasm.rs:264:51 [INFO] [stderr] | [INFO] [stderr] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stderr] | -------------------^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] ::: src/r8vm.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / chasm_def! { [INFO] [stderr] 28 | | r8c: [INFO] [stderr] ... | [INFO] [stderr] 112 | | MUL() [INFO] [stderr] 113 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/chasm.rs:264:51 [INFO] [stderr] | [INFO] [stderr] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stderr] | -------------------^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] ::: src/r8vm.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / chasm_def! { [INFO] [stderr] 28 | | r8c: [INFO] [stderr] ... | [INFO] [stderr] 112 | | MUL() [INFO] [stderr] 113 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/chasm.rs:264:51 [INFO] [stderr] | [INFO] [stderr] 264 | $name::Op::$en($(unsafe { std::mem::transmute($arg) }),*) [INFO] [stderr] | -------------------^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u8::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] ::: src/r8vm.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / chasm_def! { [INFO] [stderr] 28 | | r8c: [INFO] [stderr] ... | [INFO] [stderr] 112 | | MUL() [INFO] [stderr] 113 | | } [INFO] [stderr] | |_- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: this warning originates in the macro `chasm_def` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1197:58 [INFO] [stderr] | [INFO] [stderr] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stderr] | ^^-^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const std::string::String` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stderr] --> src/r8vm.rs:1197:58 [INFO] [stderr] | [INFO] [stderr] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(*s)[..])}) [INFO] [stderr] | ^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1197 | path.push_str(with_ref!(p, String(s) => {Ok(&(&(*s))[..])}) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1967:25 [INFO] [stderr] | [INFO] [stderr] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ^^-^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[PV]` [INFO] [stderr] --> src/r8vm.rs:1967:25 [INFO] [stderr] | [INFO] [stderr] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ^^^^ [INFO] [stderr] note: method calls to `get` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1967 | (&(*v)).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1986:30 [INFO] [stderr] | [INFO] [stderr] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | ^^-^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut [PV]` [INFO] [stderr] --> src/r8vm.rs:1986:30 [INFO] [stderr] | [INFO] [stderr] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | ^^^^ [INFO] [stderr] note: method calls to `get_unchecked_mut` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:682:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1986 | *(&mut (*v)).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1996:59 [INFO] [stderr] | [INFO] [stderr] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stderr] | ^^-^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const std::string::String` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stderr] --> src/r8vm.rs:1996:59 [INFO] [stderr] | [INFO] [stderr] 1996 | ... String(s) => { Ok((*s).len()) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] note: method calls to `len` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/string.rs:1854:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1996 | String(s) => { Ok((&(*s)).len()) }, [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:339:35 [INFO] [stderr] | [INFO] [stderr] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stderr] | ^^-^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const std::string::String` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&std::string::String` [INFO] [stderr] --> src/r8vm.rs:339:35 [INFO] [stderr] | [INFO] [stderr] 339 | Ok(Cow::from(&(*s)[..])) [INFO] [stderr] | ^^^^ [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 339 | Ok(Cow::from(&(&(*s))[..])) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast.rs:110:19 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn binary(&self) -> Option<(M2, (&Source, &Source))> { [INFO] [stderr] | ^^^^^ ^^ ^^^^^^^ ^^^^^^^ the same lifetime is elided here [INFO] [stderr] | | | | [INFO] [stderr] | | | the same lifetime is elided here [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 110 | pub fn binary(&self) -> Option<(M2<'_>, (&Source, &Source))> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/tok.rs:29:22 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn inner_str(&self) -> Option { [INFO] [stderr] | ^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 29 | pub fn inner_str(&self) -> Option> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `spaik` (lib) generated 39 warnings (run `cargo fix --lib -p spaik` to apply 8 suggestions) [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/nkgc.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stderr] | ^^-----------------------------^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[nkgc::PV]` [INFO] [stderr] --> src/nkgc.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | (*fastcast::>(self.vec)).get(idx).copied() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] note: method calls to `get` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stderr] = note: `#[warn(dangerous_implicit_autorefs)]` on by default [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 357 | (&(*fastcast::>(self.vec))).get(idx).copied() [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1967:25 [INFO] [stderr] | [INFO] [stderr] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ^^-^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*const Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&[nkgc::PV]` [INFO] [stderr] --> src/r8vm.rs:1967:25 [INFO] [stderr] | [INFO] [stderr] 1967 | (*v).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ^^^^ [INFO] [stderr] note: method calls to `get` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:570:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1967 | (&(*v)).get(idx).ok_or(error!(IndexError, idx)) [INFO] [stderr] | ++ + [INFO] [stderr] [INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stderr] --> src/r8vm.rs:1986:30 [INFO] [stderr] | [INFO] [stderr] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | ^^-^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | this raw pointer has type `*mut Vec` [INFO] [stderr] | [INFO] [stderr] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut [nkgc::PV]` [INFO] [stderr] --> src/r8vm.rs:1986:30 [INFO] [stderr] | [INFO] [stderr] 1986 | ... *(*v).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | ^^^^ [INFO] [stderr] note: method calls to `get_unchecked_mut` require a reference [INFO] [stderr] --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/slice/mod.rs:682:5 [INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stderr] | [INFO] [stderr] 1986 | *(&mut (*v)).get_unchecked_mut(idx) = args[0]; [INFO] [stderr] | +++++ + [INFO] [stderr] [INFO] [stderr] warning: `spaik` (lib test) generated 39 warnings (36 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spaik-4a2a2fca5184497c) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test chasm::tests::read_read_op ... ok [INFO] [stdout] test chasm::tests::primitive_type_conversions ... ok [INFO] [stdout] test nkgc::tests::virtual_destructors ... ok [INFO] [stdout] test swym::tests::go_for_a_swym ... ok [INFO] [stdout] test swym::tests::go_for_a_swym_and_clone_myself_into_a_hashset ... ok [INFO] [stdout] test swym::tests::go_for_a_swym_and_jump_right_into_a_hashset ... ok [INFO] [stdout] test chasm::tests::read_write_asm ... ok [INFO] [stdout] test deserialize::tests::deser_basic_types ... ok [INFO] [stdout] test tests::api_eval_add_numbers ... ok [INFO] [stdout] test nkgc::tests::spv ... ok [INFO] [stdout] test nuke::tests::simplify_types_test ... ok [INFO] [stdout] test swym::tests::hopefully_dont_take_a_hike ... ok [INFO] [stdout] test deserialize::tests::test_enum_type ... ok [INFO] [stdout] test tests::test_illegal_fork - should panic ... ok [INFO] [stdout] test tests::spaik_fork_send_from_lisp_to_rust ... ok [INFO] [stdout] test tests::spaik_fork_send_from_rust_to_lisp ... ok [INFO] [stdout] test tests::enum_call_test ... ok [INFO] [stdout] test tests::register_fn_mutate_struct ... ok [INFO] [stdout] test tests::test_load_path_illegal_value - should panic ... ok [INFO] [stdout] test tests::test_yield_type_err ... ok [INFO] [stdout] test stack_gymnastics::tests::eval_macroexpand_eval ... ok [INFO] [stdout] test tests::api_func_call ... ok [INFO] [stdout] test tests::register_fn ... ok [INFO] [stdout] test tests::test_yield ... ok [INFO] [stdout] test tests::test_load_path ... ok [INFO] [stdout] test filter ... [✓] [INFO] [stdout] test vector ... [✓] [INFO] [stdout] test rest-args ... [✓] [INFO] [stdout] test or ... [✓] [INFO] [stdout] test static-variables ... [✓] [INFO] [stdout] test lambda-capture-call ... [✓] [INFO] [stdout] test rest-and-optional-args ... [✓] [INFO] [stdout] test lambda-empty-call ... [✓] [INFO] [stdout] test loops ... [✓] [INFO] [stdout] test html ... [✓] [INFO] [stdout] test all? ... [✓] [INFO] [stdout] test reverse ... [✓] [INFO] [stdout] test inc ... [✓] [INFO] [stdout] test elem? ... [✓] [INFO] [stdout] test and ... [✓] [INFO] [stdout] test dead-code ... [✓] [INFO] [stdout] test any? ... [✓] [INFO] [stdout] test dec ... [✓] [INFO] [stdout] test eval ... [✓] [INFO] [stdout] test continuations ... [✓] [INFO] [stdout] test gensym ... [✓] [INFO] [stdout] test let-bindings ... [✓] [INFO] [stdout] test evaaal ... [✓] [INFO] [stdout] test optional-args ... [✓] [INFO] [stdout] test macros ... [✓] [INFO] [stdout] test apply ... [✓] [INFO] [stdout] test math ... [✓] [INFO] [stdout] test self ... [✓] [INFO] [stderr] Running unittests src/bin/run-lisp-tests.rs (/opt/rustwide/target/debug/deps/lisp_test-2000444af94a63a3) [INFO] [stdout] test quasi-quoting ... [✓] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/main-65ab0536f798b92c) [INFO] [stdout] test lisp_test::tests::lisp_tests ... ok [INFO] [stderr] Running unittests src/bin/minify.rs (/opt/rustwide/target/debug/deps/minify-8cf4b4514b6a7d3d) [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s [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] [stdout] [INFO] [stderr] Running unittests src/bin/readline-repl.rs (/opt/rustwide/target/debug/deps/repl-a11643830a5485b6) [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] Running unittests src/bin/scratch.rs (/opt/rustwide/target/debug/deps/scratch-28c868c74af98ef1) [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 spaik [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/utils.rs - utils::invalid (line 16) ... ignored [INFO] [stdout] test src/lib.rs - Spaik::objref (line 227) ... ok [INFO] [stdout] test src/subrs.rs - subrs::Ignore (line 112) ... ok [INFO] [stdout] test src/lib.rs - (line 18) ... ok [INFO] [stdout] test src/lib.rs - Spaik::objref_mut (line 267) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.75s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "33212334a27943ecd4cb3466fd8943034d863605b4c69852192940d51774daa0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33212334a27943ecd4cb3466fd8943034d863605b4c69852192940d51774daa0", kill_on_drop: false }` [INFO] [stdout] 33212334a27943ecd4cb3466fd8943034d863605b4c69852192940d51774daa0