[INFO] fetching crate clroxide 1.1.1... [INFO] checking clroxide-1.1.1 against master#22572d0994593197593e2a1b7b18d720a9a349a7 for pr-126452-1 [INFO] extracting crate clroxide 1.1.1 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate clroxide 1.1.1 on toolchain 22572d0994593197593e2a1b7b18d720a9a349a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate clroxide 1.1.1 [INFO] finished tweaking crates.io crate clroxide 1.1.1 [INFO] tweaked toml for crates.io crate clroxide 1.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate crates.io crate clroxide 1.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded windows v0.46.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7635837ab512c931c9b68b6b1fee66f86e1beb09ac853692a47b870510c4f51 [INFO] running `Command { std: "docker" "start" "-a" "a7635837ab512c931c9b68b6b1fee66f86e1beb09ac853692a47b870510c4f51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7635837ab512c931c9b68b6b1fee66f86e1beb09ac853692a47b870510c4f51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7635837ab512c931c9b68b6b1fee66f86e1beb09ac853692a47b870510c4f51", kill_on_drop: false }` [INFO] [stdout] a7635837ab512c931c9b68b6b1fee66f86e1beb09ac853692a47b870510c4f51 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 814336eae16c1ff4d41997be6c9d2d17ff6af1087b479cc10f454409033f1b49 [INFO] running `Command { std: "docker" "start" "-a" "814336eae16c1ff4d41997be6c9d2d17ff6af1087b479cc10f454409033f1b49", kill_on_drop: false }` [INFO] [stderr] Checking windows-targets v0.42.2 [INFO] [stderr] Checking windows v0.46.0 [INFO] [stderr] Checking clroxide v1.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `mem::size_of` and `slice` [INFO] [stdout] --> examples/patch_exit.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{env, ffi::c_void, fs, mem::size_of, process::exit, ptr, slice}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VARIANT_0_0_0` and `VARIANT` [INFO] [stdout] --> examples/patch_exit.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | Com::{VARIANT, VARIANT_0_0_0}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | /// Get the assemblies we need [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let mut context = clr.get_context()?; [INFO] [stdout] | ------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// Get all the necessary pieces to reach the function pointer for System.Environment.Exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | let environment = (*mscorlib).get_type("System.Environment")?; [INFO] [stdout] | -------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// Get the actual pointer value [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | let mut base_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 45 | let console = unsafe { (*mscorlib).get_type("System.Console")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/compose_clr.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 46 | let get_out = unsafe { (*console).get_method("get_Out")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 47 | let set_out = unsafe { (*console).get_method("SetOut")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 48 | let old_out = unsafe { (*get_out).invoke_without_args(None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 49 | let get_err = unsafe { (*console).get_method("get_Error")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 50 | let set_err = unsafe { (*console).get_method("SetError")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 51 | let old_err = unsafe { (*get_err).invoke_without_args(None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 55 | unsafe { (*set_out).invoke(method_args, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 56 | unsafe { (*set_err).invoke(method_args, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:58:18 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 58 | let ad = unsafe { &*app_domain }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:61:34 [INFO] [stdout] | [INFO] [stdout] 61 | let assembly = match unsafe { ad.load_assembly(&contents) } { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 66 | let _ = unsafe { (*assembly).run_entrypoint(&args) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 92 | unsafe { (*set_out).invoke(wrap_method_arguments(vec![old_out])?, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 93 | unsafe { (*set_err).invoke(wrap_method_arguments(vec![old_err])?, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut base_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut exit_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/streaming_output.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.30s [INFO] running `Command { std: "docker" "inspect" "814336eae16c1ff4d41997be6c9d2d17ff6af1087b479cc10f454409033f1b49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "814336eae16c1ff4d41997be6c9d2d17ff6af1087b479cc10f454409033f1b49", kill_on_drop: false }` [INFO] [stdout] 814336eae16c1ff4d41997be6c9d2d17ff6af1087b479cc10f454409033f1b49 [INFO] checking clroxide-1.1.1 against try#6289438dbad80b1a0029c66dd3f6abf57c2c51be for pr-126452-1 [INFO] extracting crate clroxide 1.1.1 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate clroxide 1.1.1 on toolchain 6289438dbad80b1a0029c66dd3f6abf57c2c51be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate clroxide 1.1.1 [INFO] finished tweaking crates.io crate clroxide 1.1.1 [INFO] tweaked toml for crates.io crate clroxide 1.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate clroxide 1.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 985a66185dba72c81a85a9b9a87fbd638ad07eda16f0e7660d74084776de4a68 [INFO] running `Command { std: "docker" "start" "-a" "985a66185dba72c81a85a9b9a87fbd638ad07eda16f0e7660d74084776de4a68", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "985a66185dba72c81a85a9b9a87fbd638ad07eda16f0e7660d74084776de4a68", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "985a66185dba72c81a85a9b9a87fbd638ad07eda16f0e7660d74084776de4a68", kill_on_drop: false }` [INFO] [stdout] 985a66185dba72c81a85a9b9a87fbd638ad07eda16f0e7660d74084776de4a68 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 98c3d4d09e45b6f020851fcf4cf1c20950c76f57df8e80bcdfadb6ad96b225d3 [INFO] running `Command { std: "docker" "start" "-a" "98c3d4d09e45b6f020851fcf4cf1c20950c76f57df8e80bcdfadb6ad96b225d3", kill_on_drop: false }` [INFO] [stderr] Checking windows-targets v0.42.2 [INFO] [stderr] Checking windows v0.46.0 [INFO] [stderr] Checking clroxide v1.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `mem::size_of` and `slice` [INFO] [stdout] --> examples/patch_exit.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{env, ffi::c_void, fs, mem::size_of, process::exit, ptr, slice}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `VARIANT_0_0_0` and `VARIANT` [INFO] [stdout] --> examples/patch_exit.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | Com::{VARIANT, VARIANT_0_0_0}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | /// Get the assemblies we need [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | let mut context = clr.get_context()?; [INFO] [stdout] | ------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// Get all the necessary pieces to reach the function pointer for System.Environment.Exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | let environment = (*mscorlib).get_type("System.Environment")?; [INFO] [stdout] | -------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> examples/patch_exit.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// Get the actual pointer value [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | let mut base_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/compose_clr.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 45 | let console = unsafe { (*mscorlib).get_type("System.Console")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 46 | let get_out = unsafe { (*console).get_method("get_Out")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 47 | let set_out = unsafe { (*console).get_method("SetOut")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 48 | let old_out = unsafe { (*get_out).invoke_without_args(None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 49 | let get_err = unsafe { (*console).get_method("get_Error")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:50:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 50 | let set_err = unsafe { (*console).get_method("SetError")? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:51:23 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 51 | let old_err = unsafe { (*get_err).invoke_without_args(None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 55 | unsafe { (*set_out).invoke(method_args, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 56 | unsafe { (*set_err).invoke(method_args, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:58:18 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 58 | let ad = unsafe { &*app_domain }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:61:34 [INFO] [stdout] | [INFO] [stdout] 61 | let assembly = match unsafe { ad.load_assembly(&contents) } { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 66 | let _ = unsafe { (*assembly).run_entrypoint(&args) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 92 | unsafe { (*set_out).invoke(wrap_method_arguments(vec![old_out])?, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> examples/streaming_output.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 20 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 93 | unsafe { (*set_err).invoke(wrap_method_arguments(vec![old_err])?, None)? }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut base_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/patch_exit.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut exit_ptr = pointer_variant.Anonymous.Anonymous.Anonymous.byref; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/streaming_output.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut context = clr.get_context()?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.52s [INFO] running `Command { std: "docker" "inspect" "98c3d4d09e45b6f020851fcf4cf1c20950c76f57df8e80bcdfadb6ad96b225d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98c3d4d09e45b6f020851fcf4cf1c20950c76f57df8e80bcdfadb6ad96b225d3", kill_on_drop: false }` [INFO] [stdout] 98c3d4d09e45b6f020851fcf4cf1c20950c76f57df8e80bcdfadb6ad96b225d3