[INFO] fetching crate vst 0.2.0...
[INFO] testing vst-0.2.0 against 1.47.0 for beta-1.48-1
[INFO] extracting crate vst 0.2.0 into /workspace/builds/worker-1/source
[INFO] validating manifest of crates.io crate vst 0.2.0 on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate vst 0.2.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate vst 0.2.0
[INFO] tweaked toml for crates.io crate vst 0.2.0 written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate crates.io crate vst 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1f90aaeaa0cf66fa20b1feae10fb7730f43112abe8578b04ef957dd2652f37d6
[INFO] running `Command { std: "docker" "start" "-a" "1f90aaeaa0cf66fa20b1feae10fb7730f43112abe8578b04ef957dd2652f37d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f90aaeaa0cf66fa20b1feae10fb7730f43112abe8578b04ef957dd2652f37d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f90aaeaa0cf66fa20b1feae10fb7730f43112abe8578b04ef957dd2652f37d6", kill_on_drop: false }`
[INFO] [stdout] 1f90aaeaa0cf66fa20b1feae10fb7730f43112abe8578b04ef957dd2652f37d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 1bac4a10bcd0edfdd632cc025d2dc171cb5ce15fcc312bf1cdf4855be7ffeb68
[INFO] running `Command { std: "docker" "start" "-a" "1bac4a10bcd0edfdd632cc025d2dc171cb5ce15fcc312bf1cdf4855be7ffeb68", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.47
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling vst v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/plugin.rs:960:34
[INFO] [stdout]     |
[INFO] [stdout] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `api::AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:194:50
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let effect = unsafe { Box::into_raw(Box::new(mem::MaybeUninit::zeroed().assume_init())) };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] note: function pointers must be non-null (in this struct field)
[INFO] [stdout]    --> src/api.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout] 56  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.75s
[INFO] running `Command { std: "docker" "inspect" "1bac4a10bcd0edfdd632cc025d2dc171cb5ce15fcc312bf1cdf4855be7ffeb68", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1bac4a10bcd0edfdd632cc025d2dc171cb5ce15fcc312bf1cdf4855be7ffeb68", kill_on_drop: false }`
[INFO] [stdout] 1bac4a10bcd0edfdd632cc025d2dc171cb5ce15fcc312bf1cdf4855be7ffeb68
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 72887d3e7f08ea60508d3c28583e0ae23f81c1539eb9988af8b0022f2c092387
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "72887d3e7f08ea60508d3c28583e0ae23f81c1539eb9988af8b0022f2c092387", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/plugin.rs:960:34
[INFO] [stdout]     |
[INFO] [stdout] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `api::AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:194:50
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let effect = unsafe { Box::into_raw(Box::new(mem::MaybeUninit::zeroed().assume_init())) };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] note: function pointers must be non-null (in this struct field)
[INFO] [stdout]    --> src/api.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout] 56  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling vst v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/simple_host.rs:37:67
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .unwrap_or_else(|e| panic!("Failed to load plugin: {}", e.description()));
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/plugin.rs:960:34
[INFO] [stdout]     |
[INFO] [stdout] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/host.rs:248:30
[INFO] [stdout]     |
[INFO] [stdout] 248 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `api::AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:194:50
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let effect = unsafe { Box::into_raw(Box::new(mem::MaybeUninit::zeroed().assume_init())) };
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this code causes undefined behavior when executed
[INFO] [stdout]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] note: function pointers must be non-null (in this struct field)
[INFO] [stdout]    --> src/api.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout] 56  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `fn(*mut api::AEffect, i32, i32, isize, *mut libc::c_void, f32) -> isize`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:182:51
[INFO] [stdout]     |
[INFO] [stdout] 182 |         pub extern "C" fn VSTPluginMain(callback: $crate::api::HostCallbackProc) -> *mut $crate::api::AEffect {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout] ...
[INFO] [stdout] 309 |     plugin_main!(TestPlugin);
[INFO] [stdout]     |     ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = help: consider using an `extern fn(...) -> ...` function pointer instead
[INFO] [stdout]     = note: this function pointer has Rust-specific calling convention
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 12.21s
[INFO] running `Command { std: "docker" "inspect" "72887d3e7f08ea60508d3c28583e0ae23f81c1539eb9988af8b0022f2c092387", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72887d3e7f08ea60508d3c28583e0ae23f81c1539eb9988af8b0022f2c092387", kill_on_drop: false }`
[INFO] [stdout] 72887d3e7f08ea60508d3c28583e0ae23f81c1539eb9988af8b0022f2c092387
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f66feeb07d0428a56cf4370fa984cd6d3152bee00fc4122e290bb54a1c43d385
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f66feeb07d0428a56cf4370fa984cd6d3152bee00fc4122e290bb54a1c43d385", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/plugin.rs:960:34
[INFO] [stderr]     |
[INFO] [stderr] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/host.rs:248:30
[INFO] [stderr]     |
[INFO] [stderr] 248 |         write!(f, "{}", self.description())
[INFO] [stderr]     |                              ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `api::AEffect` does not permit zero-initialization
[INFO] [stderr]    --> src/lib.rs:194:50
[INFO] [stderr]     |
[INFO] [stderr] 194 |     let effect = unsafe { Box::into_raw(Box::new(mem::MaybeUninit::zeroed().assume_init())) };
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] note: function pointers must be non-null (in this struct field)
[INFO] [stderr]    --> src/api.rs:56:5
[INFO] [stderr]     |
[INFO] [stderr] 56  |     pub dispatcher: DispatcherProc,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/plugin.rs:960:34
[INFO] [stderr]     |
[INFO] [stderr] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/host.rs:248:30
[INFO] [stderr]     |
[INFO] [stderr] 248 |         write!(f, "{}", self.description())
[INFO] [stderr]     |                              ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `api::AEffect` does not permit zero-initialization
[INFO] [stderr]    --> src/lib.rs:194:50
[INFO] [stderr]     |
[INFO] [stderr] 194 |     let effect = unsafe { Box::into_raw(Box::new(mem::MaybeUninit::zeroed().assume_init())) };
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                  |
[INFO] [stderr]     |                                                  this code causes undefined behavior when executed
[INFO] [stderr]     |                                                  help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] note: function pointers must be non-null (in this struct field)
[INFO] [stderr]    --> src/api.rs:56:5
[INFO] [stderr]     |
[INFO] [stderr] 56  |     pub dispatcher: DispatcherProc,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `extern` fn uses type `fn(*mut api::AEffect, i32, i32, isize, *mut libc::c_void, f32) -> isize`, which is not FFI-safe
[INFO] [stderr]    --> src/lib.rs:182:51
[INFO] [stderr]     |
[INFO] [stderr] 182 |         pub extern "C" fn VSTPluginMain(callback: $crate::api::HostCallbackProc) -> *mut $crate::api::AEffect {
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stderr] ...
[INFO] [stderr] 309 |     plugin_main!(TestPlugin);
[INFO] [stderr]     |     ------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stderr]     = help: consider using an `extern fn(...) -> ...` function pointer instead
[INFO] [stderr]     = note: this function pointer has Rust-specific calling convention
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> examples/simple_host.rs:37:67
[INFO] [stderr]    |
[INFO] [stderr] 37 |         .unwrap_or_else(|e| panic!("Failed to load plugin: {}", e.description()));
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/vst-920a1f1769739cb2
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test buffer::tests::buffer_zip ... ok
[INFO] [stdout] test api::tests::message_survives_calling_events ... ok
[INFO] [stdout] test tests::host_callback ... ok
[INFO] [stdout] test buffer::tests::from_raw ... ok
[INFO] [stdout] test tests::plugin_drop ... ok
[INFO] [stdout] test tests::plugin_deref ... ok
[INFO] [stdout] test plugin::tests::host_callbacks ... ok
[INFO] [stdout] test tests::plugin_no_drop ... ok
[INFO] [stdout] test api::tests::encode_and_decode_gives_back_original_message ... ok
[INFO] [stdout] test tests::aeffect_created ... ok
[INFO] [stdout] test buffer::tests::buffer_zip_more_inputs_than_outputs ... ok
[INFO] [stdout] test tests::aeffect_params ... ok
[INFO] [stdout] test buffer::tests::buffer_zip_fewer_inputs_than_outputs ... ok
[INFO] [stdout] test plugin::tests::null_panic ... ok
[INFO] [stdout] test host::tests::host_buffer ... ok
[INFO] [stderr]    Doc-tests vst
[INFO] [stdout] test util::parameter_transfer::tests::parameter_transfer ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/plugin.rs:960:34
[INFO] [stderr]     |
[INFO] [stderr] 960 |             ptr => Some(unsafe { (*(ptr as *const TimeInfo)) }),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test src/api.rs - api::AEffect::flags (line 81) ... ok
[INFO] [stdout] test src/host.rs - host::PluginLoader<T>::load (line 307) ... ok
[INFO] [stdout] test src/lib.rs - (line 69) ... ok
[INFO] [stdout] test src/plugin.rs - plugin::Plugin::process (line 568) ... ok
[INFO] [stdout] test src/buffer.rs - buffer::SendEventBuffer::send_events (line 415) ... ok
[INFO] [stdout] test src/api.rs - api::Events::events (line 431) ... ok
[INFO] [stdout] test src/plugin.rs - plugin::Plugin::process_f64 (line 609) ... ok
[INFO] [stdout] test src/lib.rs - (line 36) ... ok
[INFO] [stdout] test src/host.rs - host::HostBuffer (line 690) ... ok
[INFO] [stdout] test src/api.rs - api::Event::event_type (line 499) ... ok
[INFO] [stdout] test src/plugin.rs - plugin::HostCallback (line 796) ... ok
[INFO] [stdout] test src/api.rs - api::Event (line 486) ... ok
[INFO] [stdout] test src/plugin.rs - plugin::Plugin::new (line 483) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f66feeb07d0428a56cf4370fa984cd6d3152bee00fc4122e290bb54a1c43d385", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f66feeb07d0428a56cf4370fa984cd6d3152bee00fc4122e290bb54a1c43d385", kill_on_drop: false }`
[INFO] [stdout] f66feeb07d0428a56cf4370fa984cd6d3152bee00fc4122e290bb54a1c43d385
