[INFO] fetching crate nnd 0.43.0... [INFO] checking nnd-0.43.0 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate nnd 0.43.0 into /workspace/builds/worker-2-tc2/source [INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml [INFO] started tweaking crates.io crate nnd 0.43.0 [INFO] finished tweaking crates.io crate nnd 0.43.0 [INFO] tweaked toml for crates.io crate nnd 0.43.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate nnd 0.43.0 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nnd 0.43.0 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 872f144d61a730c593eb58690d693eb44302519f1cd545d7b2cd95d7ccb3ccd5 [INFO] running `Command { std: "docker" "start" "-a" "872f144d61a730c593eb58690d693eb44302519f1cd545d7b2cd95d7ccb3ccd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "872f144d61a730c593eb58690d693eb44302519f1cd545d7b2cd95d7ccb3ccd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "872f144d61a730c593eb58690d693eb44302519f1cd545d7b2cd95d7ccb3ccd5", kill_on_drop: false }` [INFO] [stdout] 872f144d61a730c593eb58690d693eb44302519f1cd545d7b2cd95d7ccb3ccd5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 45b5613e1b889f2de5659ef7703b2fb35c193101c59e9454bd3261ce17188291 [INFO] running `Command { std: "docker" "start" "-a" "45b5613e1b889f2de5659ef7703b2fb35c193101c59e9454bd3261ce17188291", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling httparse v1.10.0 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling rustls v0.23.23 [INFO] [stderr] Checking rustls-pki-types v1.11.0 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling cpp_demangle v0.4.4 [INFO] [stderr] Checking bytes v1.10.0 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling cc v1.2.15 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking miniz_oxide v0.8.5 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking webpki-roots v0.26.8 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking flate2 v1.0.35 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Checking iced-x86 v1.19.0 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking unicode-width v0.1.10 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking ureq-proto v0.3.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling ring v0.17.11 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking ureq v3.0.6 [INFO] [stderr] Checking nnd v0.43.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/symbols.rs:369:19 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn unpack(&self) -> VariableLocation { [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] 369 | pub fn unpack(&self) -> VariableLocation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1137:78 [INFO] [stdout] | [INFO] [stdout] 1137 | self.types_before_dedup = self.shards.iter().map(|s| unsafe {(*s.get()).types.types_before_dedup}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] = note: `#[deny(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] 1137 | self.types_before_dedup = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.types_before_dedup}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1138:72 [INFO] [stdout] | [INFO] [stdout] 1138 | self.type_offsets = self.shards.iter().map(|s| unsafe {(*s.get()).types.num_offsets()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1138 | self.type_offsets = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.num_offsets()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1139:82 [INFO] [stdout] | [INFO] [stdout] 1139 | self.type_offset_maps_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).types.offset_map_bytes()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1139 | self.type_offset_maps_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.offset_map_bytes()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1141:94 [INFO] [stdout] | [INFO] [stdout] 1141 | ... unsafe {mem::replace(&mut (*s.get()).types, TypesLoadingShard::invalid())}).collect()); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1141 | self.types.shards_ready(self.shards.iter().map(|s| unsafe {mem::replace(&mut (&mut (*s.get())).types, TypesLoadingShard::invalid())}).collect()); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1433:40 [INFO] [stdout] | [INFO] [stdout] 1433 | unsafe {names.append(&mut *(*other_shard.get())[shard_idx].get())}; [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: `&Vec>>>` [INFO] [stdout] --> src/symbols.rs:1433:40 [INFO] [stdout] | [INFO] [stdout] 1433 | unsafe {names.append(&mut *(*other_shard.get())[shard_idx].get())}; [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] 1433 | unsafe {names.append(&mut *(&(*other_shard.get()))[shard_idx].get())}; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [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: `&Vec` [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [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] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(&(*s.get()).functions)[..]}).collect(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [INFO] [stdout] | ^^-------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(&(*s.get())).functions[..]}).collect(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1761:80 [INFO] [stdout] | [INFO] [stdout] 1761 | let funcs_before_dedup: usize = self.shards.iter().map(|s| unsafe {(*s.get()).functions_before_dedup}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1761 | let funcs_before_dedup: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).functions_before_dedup}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1762:87 [INFO] [stdout] | [INFO] [stdout] 1762 | let subfunctions_needed_fixup: usize = self.shards.iter().map(|s| unsafe {(*s.get()).subfunctions_need_fixup.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1762 | let subfunctions_needed_fixup: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).subfunctions_need_fixup.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1763:77 [INFO] [stdout] | [INFO] [stdout] 1763 | let misc_arena_size: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.misc_arena.capacity()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1763 | let misc_arena_size: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.misc_arena.capacity()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1764:75 [INFO] [stdout] | [INFO] [stdout] 1764 | let addr_to_lines: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.line_to_addr.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1764 | let addr_to_lines: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.line_to_addr.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1765:75 [INFO] [stdout] | [INFO] [stdout] 1765 | let line_to_addrs: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.addr_to_line.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1765 | let line_to_addrs: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.addr_to_line.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1766:81 [INFO] [stdout] | [INFO] [stdout] 1766 | let lines_in_debug_line: usize = self.shards.iter().map(|s| unsafe {(*s.get()).addr_to_line_len_after_debug_line}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1766 | let lines_in_debug_line: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).addr_to_line_len_after_debug_line}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1767:77 [INFO] [stdout] | [INFO] [stdout] 1767 | let local_variables: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.local_variables.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1767 | let local_variables: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.local_variables.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1768:78 [INFO] [stdout] | [INFO] [stdout] 1768 | ...rds.iter().map(|s| unsafe {(*s.get()).sym.global_variables.used() / mem::size_of::()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1768 | let global_variables: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.global_variables.used() / mem::size_of::()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1769:88 [INFO] [stdout] | [INFO] [stdout] 1769 | ...rds.iter().map(|s| unsafe {(*s.get()).sym.sorted_global_variable_names.arena.capacity()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1769 | let global_variable_name_bytes: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.sorted_global_variable_names.arena.capacity()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1781:73 [INFO] [stdout] | [INFO] [stdout] 1781 | let final_types: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.num_types()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1781 | let final_types: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.num_types()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1782:65 [INFO] [stdout] | [INFO] [stdout] 1782 | let type_names = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.sorted_type_names.strings.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1782 | let type_names = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.sorted_type_names.strings.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1783:69 [INFO] [stdout] | [INFO] [stdout] 1783 | let type_names_len = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.sorted_type_names.arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1783 | let type_names_len = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.sorted_type_names.arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1784:71 [INFO] [stdout] | [INFO] [stdout] 1784 | let type_infos_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.types_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1784 | let type_infos_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.types_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1785:67 [INFO] [stdout] | [INFO] [stdout] 1785 | let fields_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.fields_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1785 | let fields_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.fields_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1786:71 [INFO] [stdout] | [INFO] [stdout] 1786 | let types_misc_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.misc_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1786 | let types_misc_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.misc_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1787:74 [INFO] [stdout] | [INFO] [stdout] 1787 | let subfunctions: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.subfunctions.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1787 | let subfunctions: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.subfunctions.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1788:80 [INFO] [stdout] | [INFO] [stdout] 1788 | let subfunction_levels: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.subfunction_levels.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1788 | let subfunction_levels: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.subfunction_levels.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1792:34 [INFO] [stdout] | [INFO] [stdout] 1792 | for t in unsafe {(*shard.get()).sym.types.iter()} { [INFO] [stdout] | ^^-----------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1792 | for t in unsafe {(&(*shard.get())).sym.types.iter()} { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:2264:23 [INFO] [stdout] | [INFO] [stdout] 2264 | unsafe {(*(*self.loader.send_global_variable_names[self.shard_idx].get())[target_shard].get()).push(GlobalVariableNameMessage... [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: `&Vec>>>` [INFO] [stdout] --> src/symbols.rs:2264:23 [INFO] [stdout] | [INFO] [stdout] 2264 | ... unsafe {(*(*self.loader.send_global_variable_names[self.shard_idx].get())[target_shard].get()).push(GlobalVariableNameMessage {name... [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] 2264 | unsafe {(*(&(*self.loader.send_global_variable_names[self.shard_idx].get()))[target_shard].get()).push(GlobalVariableNameMessage {name, ptr})}; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pool.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn iter(&self) -> PoolIter { [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] 90 | pub fn iter(&self) -> PoolIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pool.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn iter_mut(&mut self) -> PoolIterMut { [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] 94 | pub fn iter_mut(&mut self) -> PoolIterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/types.rs:1321:37 [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(*n.type_).name.is_empty()}); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const types::TypeInfo` [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: `&str` [INFO] [stdout] --> src/types.rs:1321:37 [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(*n.type_).name.is_empty()}); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] note: method calls to `is_empty` require a reference [INFO] [stdout] --> /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/str/mod.rs:161:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(&(*n.type_).name).is_empty()}); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:780:92 [INFO] [stdout] | [INFO] [stdout] 780 | 4 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x as u32)}), [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:781:92 [INFO] [stdout] | [INFO] [stdout] 781 | 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x)}), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 781 - 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x)}), [INFO] [stdout] 781 + 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {f64::from_bits(x as _)}), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:986:32 [INFO] [stdout] | [INFO] [stdout] 986 | let x: isize = unsafe {mem::transmute(x0)}; [INFO] [stdout] | --------------^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::cast_signed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:1362:55 [INFO] [stdout] | [INFO] [stdout] 1362 | gimli::read::Value::F32(x) => unsafe {mem::transmute::(x) as usize}, [INFO] [stdout] | --------------------------^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:1363:55 [INFO] [stdout] | [INFO] [stdout] 1363 | gimli::read::Value::F64(x) => unsafe {mem::transmute(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 1363 - gimli::read::Value::F64(x) => unsafe {mem::transmute(x)}, [INFO] [stdout] 1363 + gimli::read::Value::F64(x) => unsafe {f64::to_bits(x) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:243:54 [INFO] [stdout] | [INFO] [stdout] 243 | ... 4 => x = unsafe {mem::transmute::(-mem::transmute::(x as u32))} as usize, [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:243:82 [INFO] [stdout] | [INFO] [stdout] 243 | ... 4 => x = unsafe {mem::transmute::(-mem::transmute::(x as u32))} as usize, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:244:54 [INFO] [stdout] | [INFO] [stdout] 244 | ... 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 244 - 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] 244 + 8 => x = unsafe {f64::to_bits(-mem::transmute::(x)) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:244:70 [INFO] [stdout] | [INFO] [stdout] 244 | ... 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 244 - 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] 244 + 8 => x = unsafe {mem::transmute(-f64::from_bits(x as _))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:787:124 [INFO] [stdout] | [INFO] [stdout] 787 | ...(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {mem::transmute(x)} } } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 787 - fn transmute_to_usize(&self) -> usize { match *self { Self::I(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {mem::transmute(x)} } } [INFO] [stdout] 787 + fn transmute_to_usize(&self) -> usize { match *self { Self::I(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {f64::to_bits(x) as usize} } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:811:34 [INFO] [stdout] | [INFO] [stdout] 811 | 4 => unsafe {mem::transmute::(x as u32) as f64}, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:812:34 [INFO] [stdout] | [INFO] [stdout] 812 | 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 812 - 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] 812 + 8 => unsafe {f64::from_bits(x as _)}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | 4 => unsafe {mem::transmute::(x as f32) as usize}, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:845:30 [INFO] [stdout] | [INFO] [stdout] 845 | 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 845 - 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] 845 + 8 => unsafe {f64::to_bits(x) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nnd` (bin "nnd" test) due to 27 previous errors; 17 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/symbols.rs:369:19 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn unpack(&self) -> VariableLocation { [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] 369 | pub fn unpack(&self) -> VariableLocation<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1137:78 [INFO] [stdout] | [INFO] [stdout] 1137 | self.types_before_dedup = self.shards.iter().map(|s| unsafe {(*s.get()).types.types_before_dedup}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] = note: `#[deny(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] 1137 | self.types_before_dedup = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.types_before_dedup}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1138:72 [INFO] [stdout] | [INFO] [stdout] 1138 | self.type_offsets = self.shards.iter().map(|s| unsafe {(*s.get()).types.num_offsets()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1138 | self.type_offsets = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.num_offsets()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1139:82 [INFO] [stdout] | [INFO] [stdout] 1139 | self.type_offset_maps_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).types.offset_map_bytes()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1139 | self.type_offset_maps_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).types.offset_map_bytes()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1141:94 [INFO] [stdout] | [INFO] [stdout] 1141 | ... unsafe {mem::replace(&mut (*s.get()).types, TypesLoadingShard::invalid())}).collect()); [INFO] [stdout] | ^^-------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1141 | self.types.shards_ready(self.shards.iter().map(|s| unsafe {mem::replace(&mut (&mut (*s.get())).types, TypesLoadingShard::invalid())}).collect()); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1433:40 [INFO] [stdout] | [INFO] [stdout] 1433 | unsafe {names.append(&mut *(*other_shard.get())[shard_idx].get())}; [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: `&Vec>>>` [INFO] [stdout] --> src/symbols.rs:1433:40 [INFO] [stdout] | [INFO] [stdout] 1433 | unsafe {names.append(&mut *(*other_shard.get())[shard_idx].get())}; [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] 1433 | unsafe {names.append(&mut *(&(*other_shard.get()))[shard_idx].get())}; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [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: `&Vec` [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [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] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(&(*s.get()).functions)[..]}).collect(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1703:85 [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(*s.get()).functions[..]}).collect(); [INFO] [stdout] | ^^-------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1703 | let mut sources: Vec<&[FunctionInfo]> = self.shards.iter().map(|s| unsafe {&(&(*s.get())).functions[..]}).collect(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1761:80 [INFO] [stdout] | [INFO] [stdout] 1761 | let funcs_before_dedup: usize = self.shards.iter().map(|s| unsafe {(*s.get()).functions_before_dedup}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1761 | let funcs_before_dedup: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).functions_before_dedup}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1762:87 [INFO] [stdout] | [INFO] [stdout] 1762 | let subfunctions_needed_fixup: usize = self.shards.iter().map(|s| unsafe {(*s.get()).subfunctions_need_fixup.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1762 | let subfunctions_needed_fixup: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).subfunctions_need_fixup.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1763:77 [INFO] [stdout] | [INFO] [stdout] 1763 | let misc_arena_size: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.misc_arena.capacity()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1763 | let misc_arena_size: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.misc_arena.capacity()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1764:75 [INFO] [stdout] | [INFO] [stdout] 1764 | let addr_to_lines: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.line_to_addr.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1764 | let addr_to_lines: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.line_to_addr.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1765:75 [INFO] [stdout] | [INFO] [stdout] 1765 | let line_to_addrs: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.addr_to_line.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1765 | let line_to_addrs: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.addr_to_line.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1766:81 [INFO] [stdout] | [INFO] [stdout] 1766 | let lines_in_debug_line: usize = self.shards.iter().map(|s| unsafe {(*s.get()).addr_to_line_len_after_debug_line}).sum(); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1766 | let lines_in_debug_line: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).addr_to_line_len_after_debug_line}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1767:77 [INFO] [stdout] | [INFO] [stdout] 1767 | let local_variables: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.local_variables.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1767 | let local_variables: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.local_variables.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1768:78 [INFO] [stdout] | [INFO] [stdout] 1768 | ...rds.iter().map(|s| unsafe {(*s.get()).sym.global_variables.used() / mem::size_of::()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1768 | let global_variables: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.global_variables.used() / mem::size_of::()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1769:88 [INFO] [stdout] | [INFO] [stdout] 1769 | ...rds.iter().map(|s| unsafe {(*s.get()).sym.sorted_global_variable_names.arena.capacity()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1769 | let global_variable_name_bytes: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.sorted_global_variable_names.arena.capacity()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1781:73 [INFO] [stdout] | [INFO] [stdout] 1781 | let final_types: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.num_types()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1781 | let final_types: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.num_types()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1782:65 [INFO] [stdout] | [INFO] [stdout] 1782 | let type_names = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.sorted_type_names.strings.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1782 | let type_names = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.sorted_type_names.strings.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1783:69 [INFO] [stdout] | [INFO] [stdout] 1783 | let type_names_len = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.sorted_type_names.arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1783 | let type_names_len = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.sorted_type_names.arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1784:71 [INFO] [stdout] | [INFO] [stdout] 1784 | let type_infos_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.types_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1784 | let type_infos_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.types_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1785:67 [INFO] [stdout] | [INFO] [stdout] 1785 | let fields_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.fields_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1785 | let fields_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.fields_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1786:71 [INFO] [stdout] | [INFO] [stdout] 1786 | let types_misc_bytes = self.shards.iter().map(|s| unsafe {(*s.get()).sym.types.misc_arena.used()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1786 | let types_misc_bytes = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.types.misc_arena.used()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1787:74 [INFO] [stdout] | [INFO] [stdout] 1787 | let subfunctions: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.subfunctions.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1787 | let subfunctions: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.subfunctions.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1788:80 [INFO] [stdout] | [INFO] [stdout] 1788 | let subfunction_levels: usize = self.shards.iter().map(|s| unsafe {(*s.get()).sym.subfunction_levels.len()}).sum(); [INFO] [stdout] | ^^-------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1788 | let subfunction_levels: usize = self.shards.iter().map(|s| unsafe {(&(*s.get())).sym.subfunction_levels.len()}).sum(); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:1792:34 [INFO] [stdout] | [INFO] [stdout] 1792 | for t in unsafe {(*shard.get()).sym.types.iter()} { [INFO] [stdout] | ^^-----------^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*mut util::CachePadded` [INFO] [stdout] | [INFO] [stdout] = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements [INFO] [stdout] = note: references are created through calls to explicit `Deref(Mut)::deref(_mut)` implementations [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1792 | for t in unsafe {(&(*shard.get())).sym.types.iter()} { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/symbols.rs:2264:23 [INFO] [stdout] | [INFO] [stdout] 2264 | unsafe {(*(*self.loader.send_global_variable_names[self.shard_idx].get())[target_shard].get()).push(GlobalVariableNameMessage... [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: `&Vec>>>` [INFO] [stdout] --> src/symbols.rs:2264:23 [INFO] [stdout] | [INFO] [stdout] 2264 | ... unsafe {(*(*self.loader.send_global_variable_names[self.shard_idx].get())[target_shard].get()).push(GlobalVariableNameMessage {name... [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] 2264 | unsafe {(*(&(*self.loader.send_global_variable_names[self.shard_idx].get()))[target_shard].get()).push(GlobalVariableNameMessage {name, ptr})}; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pool.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn iter(&self) -> PoolIter { [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] 90 | pub fn iter(&self) -> PoolIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pool.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn iter_mut(&mut self) -> PoolIterMut { [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] 94 | pub fn iter_mut(&mut self) -> PoolIterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: implicit autoref creates a reference to the dereference of a raw pointer [INFO] [stdout] --> src/types.rs:1321:37 [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(*n.type_).name.is_empty()}); [INFO] [stdout] | ^^-------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this raw pointer has type `*const types::TypeInfo` [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: `&str` [INFO] [stdout] --> src/types.rs:1321:37 [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(*n.type_).name.is_empty()}); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] note: method calls to `is_empty` require a reference [INFO] [stdout] --> /rustc/a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d/library/core/src/str/mod.rs:161:5 [INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit [INFO] [stdout] | [INFO] [stdout] 1321 | assert!(unsafe {(&(*n.type_).name).is_empty()}); [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:780:92 [INFO] [stdout] | [INFO] [stdout] 780 | 4 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x as u32)}), [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:781:92 [INFO] [stdout] | [INFO] [stdout] 781 | 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x)}), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 781 - 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {mem::transmute::(x)}), [INFO] [stdout] 781 + 8 => styled_write!(state.out, state.palette.value, "{:?}", unsafe {f64::from_bits(x as _)}), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:986:32 [INFO] [stdout] | [INFO] [stdout] 986 | let x: isize = unsafe {mem::transmute(x0)}; [INFO] [stdout] | --------------^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `usize::cast_signed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:1362:55 [INFO] [stdout] | [INFO] [stdout] 1362 | gimli::read::Value::F32(x) => unsafe {mem::transmute::(x) as usize}, [INFO] [stdout] | --------------------------^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/expr.rs:1363:55 [INFO] [stdout] | [INFO] [stdout] 1363 | gimli::read::Value::F64(x) => unsafe {mem::transmute(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 1363 - gimli::read::Value::F64(x) => unsafe {mem::transmute(x)}, [INFO] [stdout] 1363 + gimli::read::Value::F64(x) => unsafe {f64::to_bits(x) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:243:54 [INFO] [stdout] | [INFO] [stdout] 243 | ... 4 => x = unsafe {mem::transmute::(-mem::transmute::(x as u32))} as usize, [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:243:82 [INFO] [stdout] | [INFO] [stdout] 243 | ... 4 => x = unsafe {mem::transmute::(-mem::transmute::(x as u32))} as usize, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:244:54 [INFO] [stdout] | [INFO] [stdout] 244 | ... 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 244 - 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] 244 + 8 => x = unsafe {f64::to_bits(-mem::transmute::(x)) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:244:70 [INFO] [stdout] | [INFO] [stdout] 244 | ... 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 244 - 8 => x = unsafe {mem::transmute(-mem::transmute::(x))}, [INFO] [stdout] 244 + 8 => x = unsafe {mem::transmute(-f64::from_bits(x as _))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:787:124 [INFO] [stdout] | [INFO] [stdout] 787 | ...(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {mem::transmute(x)} } } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 787 - fn transmute_to_usize(&self) -> usize { match *self { Self::I(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {mem::transmute(x)} } } [INFO] [stdout] 787 + fn transmute_to_usize(&self) -> usize { match *self { Self::I(x) => x as usize, Self::U(x) => x, Self::F(x) => unsafe {f64::to_bits(x) as usize} } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:811:34 [INFO] [stdout] | [INFO] [stdout] 811 | 4 => unsafe {mem::transmute::(x as u32) as f64}, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::from_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:812:34 [INFO] [stdout] | [INFO] [stdout] 812 | 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 812 - 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] 812 + 8 => unsafe {f64::from_bits(x as _)}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:844:30 [INFO] [stdout] | [INFO] [stdout] 844 | 4 => unsafe {mem::transmute::(x as f32) as usize}, [INFO] [stdout] | --------------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/interp.rs:845:30 [INFO] [stdout] | [INFO] [stdout] 845 | 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 845 - 8 => unsafe {mem::transmute::(x)}, [INFO] [stdout] 845 + 8 => unsafe {f64::to_bits(x) as usize}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nnd` (bin "nnd") due to 27 previous errors; 17 warnings emitted [INFO] running `Command { std: "docker" "inspect" "45b5613e1b889f2de5659ef7703b2fb35c193101c59e9454bd3261ce17188291", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45b5613e1b889f2de5659ef7703b2fb35c193101c59e9454bd3261ce17188291", kill_on_drop: false }` [INFO] [stdout] 45b5613e1b889f2de5659ef7703b2fb35c193101c59e9454bd3261ce17188291