[INFO] fetching crate wasmer-wasi-fl 0.17.1... [INFO] testing wasmer-wasi-fl-0.17.1 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate wasmer-wasi-fl 0.17.1 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate wasmer-wasi-fl 0.17.1 [INFO] finished tweaking crates.io crate wasmer-wasi-fl 0.17.1 [INFO] tweaked toml for crates.io crate wasmer-wasi-fl 0.17.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate wasmer-wasi-fl 0.17.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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 72 packages to latest compatible versions [INFO] [stderr] Adding bincode v1.3.3 (available: v2.0.1) [INFO] [stderr] Adding getrandom v0.1.16 (available: v0.3.3) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.17) [INFO] [stderr] Adding time v0.1.45 (available: v0.3.44) [INFO] [stderr] Adding typetag v0.1.8 (available: v0.2.21) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] c734b3dd6fe84d42667a139aedab249173951b911473cd22be5c7a9f4ad874e3 [INFO] running `Command { std: "docker" "start" "-a" "c734b3dd6fe84d42667a139aedab249173951b911473cd22be5c7a9f4ad874e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c734b3dd6fe84d42667a139aedab249173951b911473cd22be5c7a9f4ad874e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c734b3dd6fe84d42667a139aedab249173951b911473cd22be5c7a9f4ad874e3", kill_on_drop: false }` [INFO] [stdout] c734b3dd6fe84d42667a139aedab249173951b911473cd22be5c7a9f4ad874e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 1a87377fcf9272723e1fcef2992401e1a1615110a1a4644152fed359311f6c37 [INFO] running `Command { std: "docker" "start" "-a" "1a87377fcf9272723e1fcef2992401e1a1615110a1a4644152fed359311f6c37", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling ghost v0.1.20 [INFO] [stderr] Compiling ctor v0.1.26 [INFO] [stderr] Compiling digest v0.8.1 [INFO] [stderr] Compiling typetag-impl v0.1.8 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling wasmer-runtime-core-fl v0.17.1 [INFO] [stderr] Compiling inventory v0.2.3 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling erased-serde v0.3.31 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling serde-bench v0.0.7 [INFO] [stderr] Compiling generational-arena v0.2.9 [INFO] [stderr] Compiling typetag v0.1.8 [INFO] [stderr] Compiling wasmer-wasi-fl v0.17.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/lib.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(target = "windows")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:91:22 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe { &mut *(bytes as *const [_] as *mut [_] as *mut [u8]) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:2529:25 [INFO] [stdout] | [INFO] [stdout] 2529 | let u8_buffer = &mut *(buf as *const [_] as *mut [_] as *mut [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes: [u8; 8] = unsafe { transmute(ent.d_next.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | let bytes: [u8; 8] = unsafe { transmute(ent.d_ino.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | let bytes: [u8; 4] = unsafe { transmute(ent.d_namlen.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.50s [INFO] running `Command { std: "docker" "inspect" "1a87377fcf9272723e1fcef2992401e1a1615110a1a4644152fed359311f6c37", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a87377fcf9272723e1fcef2992401e1a1615110a1a4644152fed359311f6c37", kill_on_drop: false }` [INFO] [stdout] 1a87377fcf9272723e1fcef2992401e1a1615110a1a4644152fed359311f6c37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] b66ed52700bd6edc1086c5a0ff95c07da6bf04b902645325ecef48d1af9f42b3 [INFO] running `Command { std: "docker" "start" "-a" "b66ed52700bd6edc1086c5a0ff95c07da6bf04b902645325ecef48d1af9f42b3", kill_on_drop: false }` [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/lib.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(target = "windows")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling wasmer-wasi-fl v0.17.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:91:22 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe { &mut *(bytes as *const [_] as *mut [_] as *mut [u8]) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:2529:25 [INFO] [stdout] | [INFO] [stdout] 2529 | let u8_buffer = &mut *(buf as *const [_] as *mut [_] as *mut [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes: [u8; 8] = unsafe { transmute(ent.d_next.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | let bytes: [u8; 8] = unsafe { transmute(ent.d_ino.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | let bytes: [u8; 4] = unsafe { transmute(ent.d_namlen.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `target` [INFO] [stdout] --> src/lib.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(target = "windows")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Sync` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Strictest` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Send` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/state/types.rs:149:1 [INFO] [stdout] | [INFO] [stdout] 149 | #[typetag::serde(tag = "type")] [INFO] [stdout] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Box` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stdout] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stdout] | -------- `WasiFile` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:91:22 [INFO] [stdout] | [INFO] [stdout] 91 | unsafe { &mut *(bytes as *const [_] as *mut [_] as *mut [u8]) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stdout] --> src/syscalls/mod.rs:2529:25 [INFO] [stdout] | [INFO] [stdout] 2529 | let u8_buffer = &mut *(buf as *const [_] as *mut [_] as *mut [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes: [u8; 8] = unsafe { transmute(ent.d_next.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | let bytes: [u8; 8] = unsafe { transmute(ent.d_ino.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u64::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/syscalls/types.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | let bytes: [u8; 4] = unsafe { transmute(ent.d_namlen.to_le()) }; [INFO] [stdout] | ---------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.97s [INFO] running `Command { std: "docker" "inspect" "b66ed52700bd6edc1086c5a0ff95c07da6bf04b902645325ecef48d1af9f42b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b66ed52700bd6edc1086c5a0ff95c07da6bf04b902645325ecef48d1af9f42b3", kill_on_drop: false }` [INFO] [stdout] b66ed52700bd6edc1086c5a0ff95c07da6bf04b902645325ecef48d1af9f42b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 31a28e4eaa727cfd9b8dda33ca7f35244f5672cdb7480f2294aa844f7f3a3b10 [INFO] running `Command { std: "docker" "start" "-a" "31a28e4eaa727cfd9b8dda33ca7f35244f5672cdb7480f2294aa844f7f3a3b10", kill_on_drop: false }` [INFO] [stderr] warning: unexpected `cfg` condition name: `target` [INFO] [stderr] --> src/lib.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | #[cfg(target = "windows")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target, values("windows"))'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(target, values(\"windows\"))");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Send` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Sync` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Send` is not local [INFO] [stderr] | `Sync` is not local [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Strictest` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Box` is not local [INFO] [stderr] | `Send` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/state/types.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | #[typetag::serde(tag = "type")] [INFO] [stderr] | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | `Box` is not local [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_WasiFile_registry` [INFO] [stderr] 150 | pub trait WasiFile: std::fmt::Debug + Send + Write + Read + Seek { [INFO] [stderr] | -------- `WasiFile` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stderr] --> src/syscalls/mod.rs:91:22 [INFO] [stderr] | [INFO] [stderr] 91 | unsafe { &mut *(bytes as *const [_] as *mut [_] as *mut [u8]) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, visit [INFO] [stderr] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stderr] = note: `#[warn(invalid_reference_casting)]` on by default [INFO] [stderr] [INFO] [stderr] warning: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell` [INFO] [stderr] --> src/syscalls/mod.rs:2529:25 [INFO] [stderr] | [INFO] [stderr] 2529 | let u8_buffer = &mut *(buf as *const [_] as *mut [_] as *mut [u8]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: for more information, visit [INFO] [stderr] = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get` [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/syscalls/types.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | let bytes: [u8; 8] = unsafe { transmute(ent.d_next.to_le()) }; [INFO] [stderr] | ---------^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u64::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/syscalls/types.rs:56:35 [INFO] [stderr] | [INFO] [stderr] 56 | let bytes: [u8; 8] = unsafe { transmute(ent.d_ino.to_le()) }; [INFO] [stderr] | ---------^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u64::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/syscalls/types.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | let bytes: [u8; 4] = unsafe { transmute(ent.d_namlen.to_le()) }; [INFO] [stdout] [INFO] [stderr] | ---------^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] running 2 tests [INFO] [stderr] | | [INFO] [stdout] test state::builder::test::nul_character_in_args ... ok [INFO] [stderr] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] test state::builder::test::env_var_errors ... ok [INFO] [stderr] | [INFO] [stdout] [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: `wasmer-wasi-fl` (lib) generated 14 warnings (run `cargo fix --lib -p wasmer-wasi-fl` to apply 3 suggestions) [INFO] [stderr] warning: `wasmer-wasi-fl` (lib test) generated 14 warnings (14 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wasmer_wasi_fl-c386a8d37bf115de) [INFO] [stderr] Doc-tests wasmer_wasi_fl [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/state/builder.rs - state::builder::WasiStateBuilder::preopen (line 201) - compile ... FAILED [INFO] [stdout] test src/state/builder.rs - state::builder::WasiStateBuilder (line 21) - compile ... FAILED [INFO] [stdout] test src/state/mod.rs - state::WasiState (line 1461) - compile ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/state/builder.rs - state::builder::WasiStateBuilder::preopen (line 201) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] --> src/state/builder.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | ^^^^^^^^^^^ use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi_fl::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/state/builder.rs - state::builder::WasiStateBuilder (line 21) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] --> src/state/builder.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | ^^^^^^^^^^^ use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi_fl::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/state/mod.rs - state::WasiState (line 1461) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] --> src/state/mod.rs:1462:5 [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | ^^^^^^^^^^^ use of unresolved module or unlinked crate `wasmer_wasi` [INFO] [stdout] | [INFO] [stdout] help: there is a crate or module with a similar name [INFO] [stdout] | [INFO] [stdout] 2 | use wasmer_wasi_fl::state::{WasiState, WasiStateCreationError}; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/state/builder.rs - state::builder::WasiStateBuilder (line 21) [INFO] [stdout] src/state/builder.rs - state::builder::WasiStateBuilder::preopen (line 201) [INFO] [stdout] src/state/mod.rs - state::WasiState (line 1461) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "31a28e4eaa727cfd9b8dda33ca7f35244f5672cdb7480f2294aa844f7f3a3b10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31a28e4eaa727cfd9b8dda33ca7f35244f5672cdb7480f2294aa844f7f3a3b10", kill_on_drop: false }` [INFO] [stdout] 31a28e4eaa727cfd9b8dda33ca7f35244f5672cdb7480f2294aa844f7f3a3b10