[INFO] fetching crate ladspa 0.3.4...
[INFO] testing ladspa-0.3.4 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate ladspa 0.3.4 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate ladspa 0.3.4
[INFO] finished tweaking crates.io crate ladspa 0.3.4
[INFO] tweaked toml for crates.io crate ladspa 0.3.4 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ladspa 0.3.4 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 3 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v0.8.2 (available: v2.9.4)
[INFO] [stderr]       Adding vec_map v0.7.0 (available: v0.8.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 36d2041e6227d60e2522cce3c3200c02a29a5402cb60608bb2ee610af87211f3
[INFO] running `Command { std: "docker" "start" "-a" "36d2041e6227d60e2522cce3c3200c02a29a5402cb60608bb2ee610af87211f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "36d2041e6227d60e2522cce3c3200c02a29a5402cb60608bb2ee610af87211f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36d2041e6227d60e2522cce3c3200c02a29a5402cb60608bb2ee610af87211f3", kill_on_drop: false }`
[INFO] [stdout] 36d2041e6227d60e2522cce3c3200c02a29a5402cb60608bb2ee610af87211f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07b753370de4bf4aaba0f30908c4d0ce34fe1bfe1459a2e04012141997cd2fc9
[INFO] running `Command { std: "docker" "start" "-a" "07b753370de4bf4aaba0f30908c4d0ce34fe1bfe1459a2e04012141997cd2fc9", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling bitflags v0.8.2
[INFO] [stderr]    Compiling vec_map v0.7.0
[INFO] [stderr]    Compiling ladspa v0.3.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ffi.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<dyn super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:109:67
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin + Send>,
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<dyn Plugin + Send>,
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^-----------^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this raw pointer has type `*mut Vec<*mut Descriptor>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec<*mut Descriptor>`
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(&(*DESCRIPTORS))[index as usize]);
[INFO] [stdout]     |                                 ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     CString::from_raw(desc.label);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = CString::from_raw(desc.label);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     CString::from_raw(desc.name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let _ = CString::from_raw(desc.name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     CString::from_raw(desc.maker);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let _ = CString::from_raw(desc.maker);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     CString::from_raw(desc.copyright);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let _ = CString::from_raw(desc.copyright);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/ffi.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | /     Vec::from_raw_parts(desc.port_names,
[INFO] [stdout] 187 | |                         desc.port_count as usize,
[INFO] [stdout] 188 | |                         desc.port_count as usize)
[INFO] [stdout] 189 | |         .iter()
[INFO] [stdout] 190 | |         .map(|&x| CString::from_raw(x))
[INFO] [stdout] 191 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let _ = Vec::from_raw_parts(desc.port_names,
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "07b753370de4bf4aaba0f30908c4d0ce34fe1bfe1459a2e04012141997cd2fc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07b753370de4bf4aaba0f30908c4d0ce34fe1bfe1459a2e04012141997cd2fc9", kill_on_drop: false }`
[INFO] [stdout] 07b753370de4bf4aaba0f30908c4d0ce34fe1bfe1459a2e04012141997cd2fc9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd956ed7221ffcbff76643356706f2894e21c7e52aaae5efdd7879b75c6f0ecf
[INFO] running `Command { std: "docker" "start" "-a" "dd956ed7221ffcbff76643356706f2894e21c7e52aaae5efdd7879b75c6f0ecf", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ffi.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<dyn super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:109:67
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin + Send>,
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<dyn Plugin + Send>,
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^-----------^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this raw pointer has type `*mut Vec<*mut Descriptor>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec<*mut Descriptor>`
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(&(*DESCRIPTORS))[index as usize]);
[INFO] [stdout]     |                                 ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     CString::from_raw(desc.label);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = CString::from_raw(desc.label);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     CString::from_raw(desc.name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let _ = CString::from_raw(desc.name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     CString::from_raw(desc.maker);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let _ = CString::from_raw(desc.maker);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     CString::from_raw(desc.copyright);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let _ = CString::from_raw(desc.copyright);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/ffi.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | /     Vec::from_raw_parts(desc.port_names,
[INFO] [stdout] 187 | |                         desc.port_count as usize,
[INFO] [stdout] 188 | |                         desc.port_count as usize)
[INFO] [stdout] 189 | |         .iter()
[INFO] [stdout] 190 | |         .map(|&x| CString::from_raw(x))
[INFO] [stdout] 191 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let _ = Vec::from_raw_parts(desc.port_names,
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ladspa v0.3.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/lib.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | extern {
[INFO] [stdout]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | / bitflags!(
[INFO] [stdout] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stdout] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stdout] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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/lib.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / bitflags!(
[INFO] [stdout] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stdout] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stdout] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stdout] ...   |
[INFO] [stdout] 321 | | );
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ffi.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 201 |     plugin: Box<dyn super::Plugin + Send + 'static>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:109:67
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin + Send>,
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<dyn Plugin + Send>,
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^-----------^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this raw pointer has type `*mut Vec<*mut Descriptor>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Vec<*mut Descriptor>`
[INFO] [stdout]    --> src/ffi.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |         return mem::transmute(&*(&(*DESCRIPTORS))[index as usize]);
[INFO] [stdout]     |                                 ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     CString::from_raw(desc.label);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let _ = CString::from_raw(desc.label);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     CString::from_raw(desc.name);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let _ = CString::from_raw(desc.name);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     CString::from_raw(desc.maker);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let _ = CString::from_raw(desc.maker);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]    --> src/ffi.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     CString::from_raw(desc.copyright);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let _ = CString::from_raw(desc.copyright);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `collect` that must be used
[INFO] [stdout]    --> src/ffi.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | /     Vec::from_raw_parts(desc.port_names,
[INFO] [stdout] 187 | |                         desc.port_count as usize,
[INFO] [stdout] 188 | |                         desc.port_count as usize)
[INFO] [stdout] 189 | |         .iter()
[INFO] [stdout] 190 | |         .map(|&x| CString::from_raw(x))
[INFO] [stdout] 191 | |         .collect::<Vec<_>>();
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let _ = Vec::from_raw_parts(desc.port_names,
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "dd956ed7221ffcbff76643356706f2894e21c7e52aaae5efdd7879b75c6f0ecf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd956ed7221ffcbff76643356706f2894e21c7e52aaae5efdd7879b75c6f0ecf", kill_on_drop: false }`
[INFO] [stdout] dd956ed7221ffcbff76643356706f2894e21c7e52aaae5efdd7879b75c6f0ecf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0960336986e4712715bdd469d9fe457986f8126c9aae7d16a3443e32123ee7e8
[INFO] running `Command { std: "docker" "start" "-a" "0960336986e4712715bdd469d9fe457986f8126c9aae7d16a3443e32123ee7e8", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stderr]   --> src/lib.rs:53:1
[INFO] [stderr]    |
[INFO] [stderr] 53 | extern {
[INFO] [stderr]    | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:153:1
[INFO] [stderr]     |
[INFO] [stderr] 153 | / bitflags!(
[INFO] [stderr] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stderr] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stderr] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stderr] ...   |
[INFO] [stderr] 177 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:153:1
[INFO] [stderr]     |
[INFO] [stderr] 153 | / bitflags!(
[INFO] [stderr] 154 | |     #[doc="Represents the special properties a control port may hold. These are merely hints as to the
[INFO] [stderr] 155 | |     use of the port and may be completely ignored by the host. For audio ports, use ```CONTROL_HINT_NONE```.
[INFO] [stderr] 156 | |     To attach multiple properties, bitwise-or them together.
[INFO] [stderr] ...   |
[INFO] [stderr] 177 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:276:1
[INFO] [stderr]     |
[INFO] [stderr] 276 | / bitflags!(
[INFO] [stderr] 277 | |     #[doc="Represents the special properties a LADSPA plugin can have.
[INFO] [stderr] 278 | |     To attach multiple properties, bitwise-or them together, for example
[INFO] [stderr] 279 | |     ```PROP_REALTIME | PROP_INPLACE_BROKEN```.
[INFO] [stderr] ...   |
[INFO] [stderr] 321 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ffi.rs:201:17
[INFO] [stderr]     |
[INFO] [stderr] 201 |     plugin: Box<super::Plugin + Send + 'static>,
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 201 |     plugin: Box<dyn super::Plugin + Send + 'static>,
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:109:67
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<Plugin + Send>,
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub new: fn(desc: &PluginDescriptor, sample_rate: u64) -> Box<dyn Plugin + Send>,
[INFO] [stderr]     |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/ffi.rs:113:33
[INFO] [stderr]     |
[INFO] [stderr] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stderr]     |                                 ^^-----------^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   this raw pointer has type `*mut Vec<*mut Descriptor>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&Vec<*mut Descriptor>`
[INFO] [stderr]    --> src/ffi.rs:113:33
[INFO] [stderr]     |
[INFO] [stderr] 113 |         return mem::transmute(&*(*DESCRIPTORS)[index as usize]);
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 113 |         return mem::transmute(&*(&(*DESCRIPTORS))[index as usize]);
[INFO] [stderr]     |                                 ++              +
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stderr]    --> src/ffi.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 179 |     CString::from_raw(desc.label);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 179 |     let _ = CString::from_raw(desc.label);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stderr]    --> src/ffi.rs:180:5
[INFO] [stderr]     |
[INFO] [stderr] 180 |     CString::from_raw(desc.name);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 180 |     let _ = CString::from_raw(desc.name);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stderr]    --> src/ffi.rs:181:5
[INFO] [stderr]     |
[INFO] [stderr] 181 |     CString::from_raw(desc.maker);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let _ = CString::from_raw(desc.maker);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stderr]    --> src/ffi.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 |     CString::from_raw(desc.copyright);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 182 |     let _ = CString::from_raw(desc.copyright);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `collect` that must be used
[INFO] [stderr]    --> src/ffi.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 | /     Vec::from_raw_parts(desc.port_names,
[INFO] [stderr] 187 | |                         desc.port_count as usize,
[INFO] [stderr] 188 | |                         desc.port_count as usize)
[INFO] [stderr] 189 | |         .iter()
[INFO] [stderr] 190 | |         .map(|&x| CString::from_raw(x))
[INFO] [stderr] 191 | |         .collect::<Vec<_>>();
[INFO] [stderr]     | |____________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let _ = Vec::from_raw_parts(desc.port_names,
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ladspa` (lib) generated 13 warnings (1 duplicate) (run `cargo fix --lib -p ladspa` to apply 3 suggestions)
[INFO] [stderr] warning: `ladspa` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ladspa-9851c47090541449)
[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]    Doc-tests ladspa
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/lib.rs - Properties::all::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280) ... FAILED
[INFO] [stdout] test src/lib.rs - PROP_HARD_REALTIME_CAPABLE (line 280) ... FAILED
[INFO] [stdout] test src/lib.rs - Properties::fmt::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 9) ... FAILED
[INFO] [stdout] test src/lib.rs - get_ladspa_descriptor (line 61) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - Properties::all::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]  --> src/lib.rs:281:5
[INFO] [stdout]   |
[INFO] [stdout] 1 |     * The plugin must not use malloc(), free() or other heap memory
[INFO] [stdout]   |     ^ expected item
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - PROP_HARD_REALTIME_CAPABLE (line 280) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]  --> src/lib.rs:281:5
[INFO] [stdout]   |
[INFO] [stdout] 1 |     * The plugin must not use malloc(), free() or other heap memory
[INFO] [stdout]   |     ^ expected item
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Properties::fmt::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280) stdout ----
[INFO] [stdout] error: expected item, found `*`
[INFO] [stdout]  --> src/lib.rs:281:5
[INFO] [stdout]   |
[INFO] [stdout] 1 |     * The plugin must not use malloc(), free() or other heap memory
[INFO] [stdout]   |     ^ expected item
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 9) stdout ----
[INFO] [stdout] error: expected item, found `[`
[INFO] [stdout]  --> src/lib.rs:10:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | [dependencies]
[INFO] [stdout]   | ^ expected item
[INFO] [stdout]   |
[INFO] [stdout]   = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 9)
[INFO] [stdout]     src/lib.rs - PROP_HARD_REALTIME_CAPABLE (line 280)
[INFO] [stdout]     src/lib.rs - Properties::all::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280)
[INFO] [stdout]     src/lib.rs - Properties::fmt::dummy::real_flags::PROP_HARD_REALTIME_CAPABLE (line 280)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "0960336986e4712715bdd469d9fe457986f8126c9aae7d16a3443e32123ee7e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0960336986e4712715bdd469d9fe457986f8126c9aae7d16a3443e32123ee7e8", kill_on_drop: false }`
[INFO] [stdout] 0960336986e4712715bdd469d9fe457986f8126c9aae7d16a3443e32123ee7e8
