[INFO] cloning repository https://github.com/connorwmackay/csharp-rust-interop [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/connorwmackay/csharp-rust-interop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconnorwmackay%2Fcsharp-rust-interop", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconnorwmackay%2Fcsharp-rust-interop'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0e1907d9f48575b683168efa4ff6f27728787dab [INFO] testing connorwmackay/csharp-rust-interop/0e1907d9f48575b683168efa4ff6f27728787dab against 1.82.0 for beta-1.83-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconnorwmackay%2Fcsharp-rust-interop" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/connorwmackay/csharp-rust-interop on toolchain 1.82.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.82.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/connorwmackay/csharp-rust-interop [INFO] finished tweaking git repo https://github.com/connorwmackay/csharp-rust-interop [INFO] tweaked toml for git repo https://github.com/connorwmackay/csharp-rust-interop written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/connorwmackay/csharp-rust-interop already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.82.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded interoptopus_backend_csharp v0.14.14 [INFO] [stderr] Downloaded interoptopus v0.14.14 [INFO] [stderr] Downloaded interoptopus_proc v0.14.9 [INFO] [stderr] Downloaded glfw v0.45.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+1.82.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7df32ee3654e7ef16396a12b12e8c034891d29b80d890b811016ed3a2ae30f54 [INFO] running `Command { std: "docker" "start" "-a" "7df32ee3654e7ef16396a12b12e8c034891d29b80d890b811016ed3a2ae30f54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7df32ee3654e7ef16396a12b12e8c034891d29b80d890b811016ed3a2ae30f54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7df32ee3654e7ef16396a12b12e8c034891d29b80d890b811016ed3a2ae30f54", kill_on_drop: false }` [INFO] [stdout] 7df32ee3654e7ef16396a12b12e8c034891d29b80d890b811016ed3a2ae30f54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+1.82.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4805edec75c598204fa52e43d74be3f3a224adcbb8804bddabd84d9f5c6a621a [INFO] running `Command { std: "docker" "start" "-a" "4805edec75c598204fa52e43d74be3f3a224adcbb8804bddabd84d9f5c6a621a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling libc v0.2.133 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling unicode-ident v1.0.4 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling syn v1.0.100 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling once_cell v1.15.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling thiserror v1.0.35 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling libloading v0.7.3 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling ash v0.37.0+1.3.209 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling unicode-width v0.1.10 [INFO] [stderr] Compiling cty v0.2.2 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling khronos-egl v4.1.0 [INFO] [stderr] Compiling raw-window-handle v0.4.3 [INFO] [stderr] Compiling cmake v0.1.48 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling gpu-descriptor-types v0.1.1 [INFO] [stderr] Compiling gpu-alloc-types v0.2.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling spirv v0.2.0+1.5.4 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Compiling wgpu-core v0.13.2 [INFO] [stderr] Compiling glfw-sys v4.0.0+3.3.5 [INFO] [stderr] Compiling gpu-descriptor v0.2.3 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling gpu-alloc v0.5.3 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling wgpu-types v0.13.2 [INFO] [stderr] Compiling glow v0.11.2 [INFO] [stderr] Compiling inplace_it v0.3.5 [INFO] [stderr] Compiling profiling v1.0.6 [INFO] [stderr] Compiling renderdoc-sys v0.7.1 [INFO] [stderr] Compiling arrayvec v0.7.2 [INFO] [stderr] Compiling aho-corasick v0.7.19 [INFO] [stderr] Compiling regex-syntax v0.6.27 [INFO] [stderr] Compiling copyless v0.1.5 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling regex v1.6.0 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling glfw v0.45.0 [INFO] [stderr] Compiling env_logger v0.9.1 [INFO] [stderr] Compiling thiserror-impl v1.0.35 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling naga v0.9.0 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Compiling interoptopus_proc v0.14.9 [INFO] [stderr] Compiling interoptopus v0.14.14 [INFO] [stderr] Compiling interoptopus_backend_csharp v0.14.14 [INFO] [stderr] Compiling wgpu-hal v0.13.2 [INFO] [stderr] Compiling wgpu v0.13.1 [INFO] [stderr] Compiling csharp-interop v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Action` and `Key` [INFO] [stdout] --> src/window.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use glfw::{Action, Context, Glfw, Key, Window, WindowEvent}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glfw::ffi::GLFWwindow` [INFO] [stdout] --> src/window.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use glfw::ffi::GLFWwindow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `InventoryBuilder`, `Inventory`, `extra_type`, `ffi_function`, `function`, and `pattern` [INFO] [stdout] --> src/window.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | ...::{ffi_function, ffi_type, ffi_service, ffi_service_method, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_typ... [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/lib.rs:6:134 [INFO] [stdout] | [INFO] [stdout] 6 | ...ethod, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_type}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/window.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); [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] --> src/window.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `events` is never read [INFO] [stdout] --> src/window.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameWindow { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | events: Receiver<(f64, WindowEvent)> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:44 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:39 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | impl Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | impl let _ = Vec2; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:34 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:46 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `theWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `theEvents` should have a snake case name [INFO] [stdout] --> src/window.rs:24:29 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gameWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let gameWindow: Self = GameWindow { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `game_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/window.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | impl GameWindow { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | impl let _ = GameWindow; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.47s [INFO] running `Command { std: "docker" "inspect" "4805edec75c598204fa52e43d74be3f3a224adcbb8804bddabd84d9f5c6a621a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4805edec75c598204fa52e43d74be3f3a224adcbb8804bddabd84d9f5c6a621a", kill_on_drop: false }` [INFO] [stdout] 4805edec75c598204fa52e43d74be3f3a224adcbb8804bddabd84d9f5c6a621a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+1.82.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b688312be25474b001bd526a3777f7ac0b325d23dc7935b8cdf76bf4eb207a7a [INFO] running `Command { std: "docker" "start" "-a" "b688312be25474b001bd526a3777f7ac0b325d23dc7935b8cdf76bf4eb207a7a", kill_on_drop: false }` [INFO] [stdout] warning: unused imports: `Action` and `Key` [INFO] [stdout] --> src/window.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use glfw::{Action, Context, Glfw, Key, Window, WindowEvent}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glfw::ffi::GLFWwindow` [INFO] [stdout] --> src/window.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use glfw::ffi::GLFWwindow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `InventoryBuilder`, `Inventory`, `extra_type`, `ffi_function`, `function`, and `pattern` [INFO] [stdout] --> src/window.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | ...::{ffi_function, ffi_type, ffi_service, ffi_service_method, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_typ... [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/lib.rs:6:134 [INFO] [stdout] | [INFO] [stdout] 6 | ...ethod, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_type}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/window.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); [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] --> src/window.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `events` is never read [INFO] [stdout] --> src/window.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameWindow { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | events: Receiver<(f64, WindowEvent)> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:44 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:39 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | impl Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | impl let _ = Vec2; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:34 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:46 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling csharp-interop v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable `theWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `theEvents` should have a snake case name [INFO] [stdout] --> src/window.rs:24:29 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gameWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let gameWindow: Self = GameWindow { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `game_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/window.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | impl GameWindow { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | impl let _ = GameWindow; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Unity` [INFO] [stdout] --> tests/bindings.rs:7:58 [INFO] [stdout] | [INFO] [stdout] 7 | use interoptopus_backend_csharp::overloads::{DotNet, Unity}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Action` and `Key` [INFO] [stdout] --> src/window.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use glfw::{Action, Context, Glfw, Key, Window, WindowEvent}; [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glfw::ffi::GLFWwindow` [INFO] [stdout] --> src/window.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use glfw::ffi::GLFWwindow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `InventoryBuilder`, `Inventory`, `extra_type`, `ffi_function`, `function`, and `pattern` [INFO] [stdout] --> src/window.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | ...::{ffi_function, ffi_type, ffi_service, ffi_service_method, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_typ... [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/lib.rs:6:134 [INFO] [stdout] | [INFO] [stdout] 6 | ...ethod, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_type}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/window.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); [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] --> src/window.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `events` is never read [INFO] [stdout] --> src/window.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameWindow { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | events: Receiver<(f64, WindowEvent)> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:28:44 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:30 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:36:39 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | impl Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | impl let _ = Vec2; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:47:18 [INFO] [stdout] | [INFO] [stdout] 47 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `otherVec` should have a snake case name [INFO] [stdout] --> src/lib.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | fn mul(self, otherVec: Self) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:34 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:46 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/lib.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Vec2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `theWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `theEvents` should have a snake case name [INFO] [stdout] --> src/window.rs:24:29 [INFO] [stdout] | [INFO] [stdout] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `the_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gameWindow` should have a snake case name [INFO] [stdout] --> src/window.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let gameWindow: Self = GameWindow { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `game_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/window.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | impl GameWindow { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 16 | impl let _ = GameWindow; { [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s [INFO] running `Command { std: "docker" "inspect" "b688312be25474b001bd526a3777f7ac0b325d23dc7935b8cdf76bf4eb207a7a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b688312be25474b001bd526a3777f7ac0b325d23dc7935b8cdf76bf4eb207a7a", kill_on_drop: false }` [INFO] [stdout] b688312be25474b001bd526a3777f7ac0b325d23dc7935b8cdf76bf4eb207a7a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+1.82.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 140d4141f73925310c5432efb621d16c8f865c2a2f17f8866f4f04aba6a32320 [INFO] running `Command { std: "docker" "start" "-a" "140d4141f73925310c5432efb621d16c8f865c2a2f17f8866f4f04aba6a32320", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Action` and `Key` [INFO] [stderr] --> src/window.rs:2:12 [INFO] [stderr] | [INFO] [stderr] 2 | use glfw::{Action, Context, Glfw, Key, Window, WindowEvent}; [INFO] [stderr] | ^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `glfw::ffi::GLFWwindow` [INFO] [stderr] --> src/window.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use glfw::ffi::GLFWwindow; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `InventoryBuilder`, `Inventory`, `extra_type`, `ffi_function`, `function`, and `pattern` [INFO] [stderr] --> src/window.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | ...::{ffi_function, ffi_type, ffi_service, ffi_service_method, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_typ... [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/lib.rs:6:134 [INFO] [stderr] | [INFO] [stderr] 6 | ...ethod, ffi_service_ctor, Inventory, InventoryBuilder, function, Error, pattern, extra_type}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/window.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/window.rs:24:14 [INFO] [stderr] | [INFO] [stderr] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `events` is never read [INFO] [stderr] --> src/window.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct GameWindow { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 12 | events: Receiver<(f64, WindowEvent)> [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:28:35 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn multiply(&self, other: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:36:30 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:36:39 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn add(&self, other: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/lib.rs:18:6 [INFO] [stderr] | [INFO] [stderr] 18 | impl Vec2 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | impl let _ = Vec2; { [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: variable `otherVec` should have a snake case name [INFO] [stderr] --> src/lib.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | fn mul(self, otherVec: Self) -> Self { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `otherVec` should have a snake case name [INFO] [stderr] --> src/lib.rs:73:18 [INFO] [stderr] | [INFO] [stderr] 73 | fn mul(self, otherVec: Self) -> Self { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `other_vec` [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:80:34 [INFO] [stderr] | [INFO] [stderr] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:80:46 [INFO] [stderr] | [INFO] [stderr] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `extern` fn uses type `Vec2`, which is not FFI-safe [INFO] [stderr] --> src/lib.rs:80:55 [INFO] [stderr] | [INFO] [stderr] 80 | pub extern "C" fn vec2_mul(vec1: Vec2, vec2: Vec2) -> Vec2 { [INFO] [stderr] | ^^^^ not FFI-safe [INFO] [stderr] | [INFO] [stderr] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stderr] = note: this struct has unspecified layout [INFO] [stderr] note: the type is defined here [INFO] [stderr] --> src/lib.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Vec2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `theWindow` should have a snake case name [INFO] [stderr] --> src/window.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `the_window` [INFO] [stderr] [INFO] [stderr] warning: variable `theEvents` should have a snake case name [INFO] [stderr] --> src/window.rs:24:29 [INFO] [stderr] | [INFO] [stderr] 24 | ... let (mut theWindow, theEvents): (Window, Receiver<(f64, WindowEvent)>) = glfw.create_window(1280, 720, "C# Rust Interop", glfw::Win... [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `the_events` [INFO] [stderr] [INFO] [stderr] warning: variable `gameWindow` should have a snake case name [INFO] [stderr] --> src/window.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let gameWindow: Self = GameWindow { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `game_window` [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/window.rs:16:6 [INFO] [stderr] | [INFO] [stderr] 16 | impl GameWindow { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 16 | impl let _ = GameWindow; { [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: `csharp-interop` (lib) generated 21 warnings (run `cargo fix --lib -p csharp-interop` to apply 6 suggestions) [INFO] [stderr] warning: `csharp-interop` (lib test) generated 21 warnings (21 duplicates) [INFO] [stderr] warning: unused import: `Unity` [INFO] [stderr] --> tests/bindings.rs:7:58 [INFO] [stderr] | [INFO] [stderr] 7 | use interoptopus_backend_csharp::overloads::{DotNet, Unity}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `csharp-interop` (test "bindings") generated 1 warning (run `cargo fix --test "bindings"` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/csharp_interop-2fc651b0b64cb36e) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/bindings.rs (/opt/rustwide/target/debug/deps/bindings-f848c800da80293f) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test bindings_csharp ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- bindings_csharp stdout ---- [INFO] [stdout] Error: IO(Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] bindings_csharp [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test bindings` [INFO] running `Command { std: "docker" "inspect" "140d4141f73925310c5432efb621d16c8f865c2a2f17f8866f4f04aba6a32320", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "140d4141f73925310c5432efb621d16c8f865c2a2f17f8866f4f04aba6a32320", kill_on_drop: false }` [INFO] [stdout] 140d4141f73925310c5432efb621d16c8f865c2a2f17f8866f4f04aba6a32320