[INFO] fetching crate vst2 0.0.1...
[INFO] testing vst2-0.0.1 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate vst2 0.0.1 into /workspace/builds/worker-102/source
[INFO] validating manifest of crates.io crate vst2 0.0.1 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate vst2 0.0.1
[INFO] finished tweaking crates.io crate vst2 0.0.1
[INFO] tweaked toml for crates.io crate vst2 0.0.1 written to /workspace/builds/worker-102/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a8dd482ea795f4cb5f35607be30a57550455b0fe1e99ca4915a3acb1cb1d837
[INFO] running `Command { std: "docker" "start" "-a" "9a8dd482ea795f4cb5f35607be30a57550455b0fe1e99ca4915a3acb1cb1d837", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a8dd482ea795f4cb5f35607be30a57550455b0fe1e99ca4915a3acb1cb1d837", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a8dd482ea795f4cb5f35607be30a57550455b0fe1e99ca4915a3acb1cb1d837", kill_on_drop: false }`
[INFO] [stdout] 9a8dd482ea795f4cb5f35607be30a57550455b0fe1e99ca4915a3acb1cb1d837
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 28bd934fccbc82045c3de64c9e1a7fb2813f044fff6c1511a05a3536f9c6503f
[INFO] running `Command { std: "docker" "start" "-a" "28bd934fccbc82045c3de64c9e1a7fb2813f044fff6c1511a05a3536f9c6503f", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling num-complex v0.1.43
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]    Compiling phf v0.7.24
[INFO] [stderr]    Compiling num-bigint v0.1.44
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling phf_codegen v0.7.24
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]    Compiling vst2 v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:39
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:39
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[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:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/interfaces.rs:76:65
[INFO] [stdout]    |
[INFO] [stdout] 76 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]    |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/interfaces.rs:279:65
[INFO] [stdout]     |
[INFO] [stdout] 279 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]     |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:173:51
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let effect = unsafe { mem::transmute(Box::new(mem::zeroed::<AEffect>())) };
[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:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[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: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[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: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `load_pointer` should have an upper case name
[INFO] [stdout]    --> src/host.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | static mut load_pointer: *mut c_void = 0 as *mut c_void;
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to upper case: `LOAD_POINTER`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 34.61s
[INFO] running `Command { std: "docker" "inspect" "28bd934fccbc82045c3de64c9e1a7fb2813f044fff6c1511a05a3536f9c6503f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28bd934fccbc82045c3de64c9e1a7fb2813f044fff6c1511a05a3536f9c6503f", kill_on_drop: false }`
[INFO] [stdout] 28bd934fccbc82045c3de64c9e1a7fb2813f044fff6c1511a05a3536f9c6503f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f91c2f9982482c5cbc2c1798544bf5f8b9852ce85561c8003b7f405285f24f4e
[INFO] running `Command { std: "docker" "start" "-a" "f91c2f9982482c5cbc2c1798544bf5f8b9852ce85561c8003b7f405285f24f4e", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:39
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:39
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[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:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/interfaces.rs:76:65
[INFO] [stdout]    |
[INFO] [stdout] 76 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]    |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]    --> src/interfaces.rs:279:65
[INFO] [stdout]     |
[INFO] [stdout] 279 |                           CString::new(string.clone()).unwrap().as_ptr(),
[INFO] [stdout]     |                           ------------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]     |
[INFO] [stdout]     = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]     = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `AEffect` does not permit zero-initialization
[INFO] [stdout]    --> src/lib.rs:173:51
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let effect = unsafe { mem::transmute(Box::new(mem::zeroed::<AEffect>())) };
[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:57:5
[INFO] [stdout]     |
[INFO] [stdout] 57  |     pub dispatcher: DispatcherProc,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:693:34
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[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: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vst2 v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `ChannelProperties` does not permit being left uninitialized
[INFO] [stdout]    --> src/host.rs:702:34
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[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: enums have to be initialized to a variant
[INFO] [stdout]    --> src/api.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub enum SpeakerArrangementType {
[INFO] [stdout] 173 | |     /// User defined arrangement.
[INFO] [stdout] 174 | |     Custom = -2,
[INFO] [stdout] 175 | |     /// Empty arrangement.
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     Surround102,
[INFO] [stdout] 249 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `load_pointer` should have an upper case name
[INFO] [stdout]    --> src/host.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | static mut load_pointer: *mut c_void = 0 as *mut c_void;
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to upper case: `LOAD_POINTER`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `private_no_mangle_fns` has been removed: no longer a warning, `#[no_mangle]` functions always exported
[INFO] [stdout]    --> src/lib.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[allow(private_no_mangle_fns)] // For `plugin_main!`
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` 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]   --> examples/simple_host.rs:32:64
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...                   e.description()));
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub unsafe fn get_plugin(&mut self) -> &mut Box<Plugin> {
[INFO] [stdout]     |                                                     ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         mem::transmute::<_, &mut Box<Plugin>>(self.object)
[INFO] [stdout]     |                                      ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/api.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         drop(mem::transmute::<_, Box<Box<Plugin>>>(self.object))
[INFO] [stdout]     |                                          ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:566:5
[INFO] [stdout]     |
[INFO] [stdout] 566 | /     bitflags! {
[INFO] [stdout] 567 | |         /// Flags for VST channels.
[INFO] [stdout] 568 | |         pub flags Channel: i32 {
[INFO] [stdout] 569 | |             /// Indicates channel is active. Ignored by host.
[INFO] [stdout] ...   |
[INFO] [stdout] 575 | |         }
[INFO] [stdout] 576 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 | /     bitflags! {
[INFO] [stdout] 579 | |         /// Flags for VST plugins.
[INFO] [stdout] 580 | |         pub flags Plugin: i32 {
[INFO] [stdout] 581 | |             /// Plugin has an editor.
[INFO] [stdout] ...   |
[INFO] [stdout] 593 | |         }
[INFO] [stdout] 594 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:596:5
[INFO] [stdout]     |
[INFO] [stdout] 596 | /     bitflags!{
[INFO] [stdout] 597 | |         /// Cross platform modifier key flags.
[INFO] [stdout] 598 | |         pub flags ModifierKey: u8 {
[INFO] [stdout] 599 | |             /// Shift key.
[INFO] [stdout] ...   |
[INFO] [stdout] 607 | |         }
[INFO] [stdout] 608 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/api.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 610 | /     bitflags! {
[INFO] [stdout] 611 | |         /// MIDI event flags.
[INFO] [stdout] 612 | |         pub flags MidiEvent: i32 {
[INFO] [stdout] 613 | |             /// This event is played live (not in playback from a sequencer track). This allows the
[INFO] [stdout] ...   |
[INFO] [stdout] 617 | |         }
[INFO] [stdout] 618 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `api` is imported redundantly
[INFO] [stdout]    --> src/host.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 14  | use api::{self, AEffect, PluginMain, Supported};
[INFO] [stdout]     |           ---- the item `api` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 589 |         use api;
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/plugin.rs:657:45
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn get_editor(&mut self) -> Option<&mut Editor> { None }
[INFO] [stdout]     |                                             ^^^^^^ help: use `dyn`: `dyn Editor`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interfaces.rs:266:33
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub fn host_dispatch(host: &mut Host,
[INFO] [stdout]     |                                 ^^^^ help: use `dyn`: `dyn Host`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:236:65
[INFO] [stdout]     |
[INFO] [stdout] 236 |         object: mem::transmute(Box::new(Box::new(plugin) as Box<Plugin>)),
[INFO] [stdout]     |                                                                 ^^^^^^ help: use `dyn`: `dyn Plugin`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:693:39
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/host.rs:702:39
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut props = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^
[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:233:30
[INFO] [stdout]     |
[INFO] [stdout] 233 |         write!(f, "{}", self.description())
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Plugin`
[INFO] [stdout]   --> src/interfaces.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |     use plugin::{CanDo, OpCode, Plugin};
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |         assert_fn_eq!(aeffect.dispatcher, interfaces::dispatch);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32, i32, isize, *mut c_void, f32) -> isize {dispatch}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |         assert_fn_eq!(aeffect._process, interfaces::process_deprecated);
[INFO] [stdout]     |         ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f32, *mut *mut f32, i32) {process_deprecated}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |         assert_fn_eq!(aeffect.setParameter, interfaces::set_parameter);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32, f32) {set_parameter}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |         assert_fn_eq!(aeffect.getParameter, interfaces::get_parameter);
[INFO] [stdout]     |         --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, i32) -> f32 {get_parameter}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |         assert_fn_eq!(aeffect.processReplacing, interfaces::process_replacing);
[INFO] [stdout]     |         ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f32, *mut *mut f32, i32) {process_replacing}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0591]: can't transmute zero-sized type
[INFO] [stdout]    --> src/lib.rs:363:25
[INFO] [stdout]     |
[INFO] [stdout] 363 |                         mem::transmute::<_, usize>($b)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |         assert_fn_eq!(aeffect.processReplacingF64, interfaces::process_replacing_f64);
[INFO] [stdout]     |         ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: source type: fn(*mut AEffect, *mut *mut f64, *mut *mut f64, i32) {process_replacing_f64}
[INFO] [stdout]     = note: target type: usize
[INFO] [stdout]     = help: cast with `as` to a pointer instead
[INFO] [stdout]     = note: this error originates in the macro `assert_fn_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interfaces.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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/interfaces.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut plugin = unsafe { (*effect).get_plugin() };
[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]   --> src/interfaces.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut plugin = unsafe { (*effect).get_plugin() };
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0591`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `vst2` due to 7 previous errors; 24 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "f91c2f9982482c5cbc2c1798544bf5f8b9852ce85561c8003b7f405285f24f4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f91c2f9982482c5cbc2c1798544bf5f8b9852ce85561c8003b7f405285f24f4e", kill_on_drop: false }`
[INFO] [stdout] f91c2f9982482c5cbc2c1798544bf5f8b9852ce85561c8003b7f405285f24f4e
