[INFO] cloning repository https://github.com/KGAFT/vo-audio-player [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KGAFT/vo-audio-player" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKGAFT%2Fvo-audio-player", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKGAFT%2Fvo-audio-player'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1c6a3d6ab90426428a45e2441478124d910d9174 [INFO] testing KGAFT/vo-audio-player against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKGAFT%2Fvo-audio-player" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KGAFT/vo-audio-player [INFO] finished tweaking git repo https://github.com/KGAFT/vo-audio-player [INFO] tweaked toml for git repo https://github.com/KGAFT/vo-audio-player written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KGAFT/vo-audio-player on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KGAFT/vo-audio-player already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3af7c99d1aad9d389dfe541119e57444ce80e172bac784049fb0760d1bf02803 [INFO] running `Command { std: "docker" "start" "-a" "3af7c99d1aad9d389dfe541119e57444ce80e172bac784049fb0760d1bf02803", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3af7c99d1aad9d389dfe541119e57444ce80e172bac784049fb0760d1bf02803", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3af7c99d1aad9d389dfe541119e57444ce80e172bac784049fb0760d1bf02803", kill_on_drop: false }` [INFO] [stdout] 3af7c99d1aad9d389dfe541119e57444ce80e172bac784049fb0760d1bf02803 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2cc14007feb33788d32e3e745720a648b3916bf2078fb87cb0607b924b55dff [INFO] running `Command { std: "docker" "start" "-a" "d2cc14007feb33788d32e3e745720a648b3916bf2078fb87cb0607b924b55dff", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling serde_core v1.0.223 [INFO] [stderr] Compiling serde v1.0.223 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling indexmap v2.11.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling cfg-expr v0.15.8 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling version-compare v0.2.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.1 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling cc v1.2.37 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling libloading v0.8.8 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling async-lock v3.4.1 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling wayland-client v0.31.11 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling async-executor v1.13.3 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Compiling async-signal v0.2.13 [INFO] [stderr] Compiling async-process v2.5.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling async-net v2.0.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling async-fs v2.2.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling alsa-sys v0.2.1 [INFO] [stderr] Compiling rfd v0.15.4 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling raw-window-handle v0.6.2 [INFO] [stderr] Compiling combine v4.6.7 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling wayland-protocols v0.32.9 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Compiling option-operations v0.5.0 [INFO] [stderr] Compiling id3 v1.16.3 [INFO] [stderr] Compiling ogg_pager v0.7.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling sampled_data_duration v0.3.1 [INFO] [stderr] Compiling pollster v0.4.0 [INFO] [stderr] Compiling cesu8 v1.1.0 [INFO] [stderr] Compiling jni-sys v0.3.0 [INFO] [stderr] Compiling muldiv v1.0.1 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling unty v0.0.4 [INFO] [stderr] Compiling dsf v0.2.2 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling serde_derive v1.0.223 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling lofty_attr v0.11.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling zvariant_utils v3.2.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling system-deps v6.2.2 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling jni v0.21.1 [INFO] [stderr] Compiling bincode v2.0.1 [INFO] [stderr] Compiling lofty v0.22.4 [INFO] [stderr] Compiling zvariant_derive v5.7.0 [INFO] [stderr] Compiling glib-sys v0.19.8 [INFO] [stderr] Compiling gobject-sys v0.19.8 [INFO] [stderr] Compiling gio-sys v0.19.8 [INFO] [stderr] Compiling gstreamer-sys v0.22.6 [INFO] [stderr] Compiling glib-macros v0.19.9 [INFO] [stderr] Compiling zvariant v5.7.0 [INFO] [stderr] Compiling zbus_names v4.2.0 [INFO] [stderr] Compiling glib v0.19.9 [INFO] [stderr] Compiling zbus_macros v5.11.0 [INFO] [stderr] Compiling gstreamer v0.22.8 [INFO] [stderr] Compiling zbus v5.11.0 [INFO] [stderr] Compiling ashpd v0.11.0 [INFO] [stderr] Compiling vo-audio-player v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `JList` [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JObject` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JClass, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gstreamer::MessageView` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gstreamer::MessageView; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::j_objects::track::Track` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::j_objects::track::Track; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::JNIEnv` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use jni::JNIEnv; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JByteArray`, `JObject`, `JString`, and `JValue` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JByteArray, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::sys::jobject` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::sys::jobject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::operative::dsd_player::DsdPlayer` [INFO] [stdout] --> src/main/rust/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::operative::dsd_player::DsdPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `LittleEndian`, and `ReadBytesExt` [INFO] [stdout] --> src/main/rust/main.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use byteorder::{BigEndian, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/main/rust/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `AtomicBool`, `Mutex`, `Ordering`, `Read`, `SeekFrom`, `Seek`, `fs::File`, `self`, `thread`, and `time::Duration` [INFO] [stdout] --> src/main/rust/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | io::{self, Read, Seek, SeekFrom}, [INFO] [stdout] | ^^^^ ^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] 7 | sync::{ [INFO] [stdout] 8 | Arc, Mutex, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] 9 | atomic::{AtomicBool, Ordering}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 10 | }, [INFO] [stdout] 11 | thread, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JList` [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JObject` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JClass, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gstreamer::MessageView` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gstreamer::MessageView; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::j_objects::track::Track` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::j_objects::track::Track; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::JNIEnv` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use jni::JNIEnv; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JByteArray`, `JObject`, `JString`, and `JValue` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JByteArray, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::sys::jobject` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::sys::jobject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setDevice( [INFO] [stdout] 32 | | mut env: JNIEnv, [INFO] [stdout] 33 | | _class: JClass, [INFO] [stdout] 34 | | handle: jlong, [INFO] [stdout] 35 | | device_name: JString, [INFO] [stdout] 36 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_loadTrack( [INFO] [stdout] 53 | | mut env: JNIEnv, [INFO] [stdout] 54 | | _class: JClass, [INFO] [stdout] 55 | | handle: jlong, [INFO] [stdout] 56 | | path: JString, [INFO] [stdout] 57 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_seekTrack( [INFO] [stdout] 65 | | mut env: JNIEnv, [INFO] [stdout] 66 | | _class: JClass, [INFO] [stdout] 67 | | handle: jlong, [INFO] [stdout] 68 | | percent: jfloat, [INFO] [stdout] 69 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [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: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackLength( [INFO] [stdout] 77 | | mut env: JNIEnv, [INFO] [stdout] 78 | | _class: JClass, [INFO] [stdout] 79 | | handle: jlong, [INFO] [stdout] 80 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_pollEventsMain( [INFO] [stdout] 91 | | mut env: JNIEnv, [INFO] [stdout] 92 | | _class: JClass, [INFO] [stdout] 93 | | handle: jlong, [INFO] [stdout] 94 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackPos( [INFO] [stdout] 105 | | mut env: JNIEnv, [INFO] [stdout] 106 | | _class: JClass, [INFO] [stdout] 107 | | handle: jlong, [INFO] [stdout] 108 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 124 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_stop( [INFO] [stdout] 119 | | mut env: JNIEnv, [INFO] [stdout] 120 | | _class: JClass, [INFO] [stdout] 121 | | handle: jlong, [INFO] [stdout] 122 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setPlaying( [INFO] [stdout] 130 | | mut env: JNIEnv, [INFO] [stdout] 131 | | _class: JClass, [INFO] [stdout] 132 | | handle: jlong, [INFO] [stdout] 133 | | playing: jboolean, [INFO] [stdout] 134 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_isPlaying( [INFO] [stdout] 146 | | mut env: JNIEnv, [INFO] [stdout] 147 | | _class: JClass, [INFO] [stdout] 148 | | handle: jlong, [INFO] [stdout] 149 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [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/main/rust/jni_interface/file_dialogue.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | let library = albums_from_jni(env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn serialize_albums(env: &mut JNIEnv, albums: JObject) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni::objects::JObject::<'local>::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let album = JObject::from_raw(album.rust_album_to_java(env)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn library_to_jlist(env: &mut JNIEnv, mut library: Library) -> jobject{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::serialize_albums` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = serialize_albums(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serialize( [INFO] [stdout] 71 | | mut env: JNIEnv, [INFO] [stdout] 72 | | _class: JClass, [INFO] [stdout] 73 | | albums: JObject, [INFO] [stdout] 74 | | ) -> jbyteArray { [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserialize( [INFO] [stdout] 83 | | mut env: JNIEnv, [INFO] [stdout] 84 | | _class: JClass, [INFO] [stdout] 85 | | data: JByteArray, [INFO] [stdout] 86 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut library = bincode::serde::decode_from_slice::< [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:106:18 [INFO] [stdout] | [INFO] [stdout] 106 | let albums = albums_from_jni(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serializeAndSaveToFile( [INFO] [stdout] 99 | | mut env: JNIEnv, [INFO] [stdout] 100 | | _class: JClass, [INFO] [stdout] 101 | | albums: JObject, [INFO] [stdout] 102 | | destination: JString, [INFO] [stdout] 103 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut file = File::create(destination).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserializeFromFile( [INFO] [stdout] 116 | | mut env: JNIEnv, [INFO] [stdout] 117 | | _class: JClass, [INFO] [stdout] 118 | | source: JString, [INFO] [stdout] 119 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut file = File::open(source).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | handle: jlong, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/audio_diag.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut res = binding.to_string_lossy(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device_class` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let device_class = dev.device_class(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_open` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stdout] | _______________________^ [INFO] [stdout] 137 | | &mut handle, [INFO] [stdout] 138 | | device_name, [INFO] [stdout] 139 | | SND_PCM_STREAM_PLAYBACK, [INFO] [stdout] 140 | | SND_PCM_NONBLOCK, [INFO] [stdout] 141 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn support_dsd(device_name: *const c_char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_strerror` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_malloc` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | alsa::snd_pcm_hw_params_malloc(&mut params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_any` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | alsa::snd_pcm_hw_params_any(handle, params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_test_format` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if alsa::snd_pcm_hw_params_test_format(handle, params, alsa::SND_PCM_FORMAT_DSD_U32_BE) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | alsa::snd_pcm_hw_params_free(params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_close` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | alsa::snd_pcm_close(handle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [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/main/rust/operative/dsd_player.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut err = alsa::snd_device_name_hint(-1, pcm_const.as_ptr(), &mut devices_raw); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let mut hw_params: *mut alsa::snd_pcm_hw_params_t = ptr::null_mut(); [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/main/rust/operative/dsd_player.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | let mut reader = [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/main/rust/operative/dsd_player.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut alsa_buffer_size = 8192 * (format.sampling_rate / 2822400) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snd_size` [INFO] [stdout] --> src/main/rust/operative/dsd_readers.rs:345:25 [INFO] [stdout] | [INFO] [stdout] 345 | let snd_size = self.file.read_u64::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snd_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setDevice( [INFO] [stdout] 32 | | mut env: JNIEnv, [INFO] [stdout] 33 | | _class: JClass, [INFO] [stdout] 34 | | handle: jlong, [INFO] [stdout] 35 | | device_name: JString, [INFO] [stdout] 36 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_loadTrack( [INFO] [stdout] 53 | | mut env: JNIEnv, [INFO] [stdout] 54 | | _class: JClass, [INFO] [stdout] 55 | | handle: jlong, [INFO] [stdout] 56 | | path: JString, [INFO] [stdout] 57 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_seekTrack( [INFO] [stdout] 65 | | mut env: JNIEnv, [INFO] [stdout] 66 | | _class: JClass, [INFO] [stdout] 67 | | handle: jlong, [INFO] [stdout] 68 | | percent: jfloat, [INFO] [stdout] 69 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [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: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackLength( [INFO] [stdout] 77 | | mut env: JNIEnv, [INFO] [stdout] 78 | | _class: JClass, [INFO] [stdout] 79 | | handle: jlong, [INFO] [stdout] 80 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_pollEventsMain( [INFO] [stdout] 91 | | mut env: JNIEnv, [INFO] [stdout] 92 | | _class: JClass, [INFO] [stdout] 93 | | handle: jlong, [INFO] [stdout] 94 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackPos( [INFO] [stdout] 105 | | mut env: JNIEnv, [INFO] [stdout] 106 | | _class: JClass, [INFO] [stdout] 107 | | handle: jlong, [INFO] [stdout] 108 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 124 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_stop( [INFO] [stdout] 119 | | mut env: JNIEnv, [INFO] [stdout] 120 | | _class: JClass, [INFO] [stdout] 121 | | handle: jlong, [INFO] [stdout] 122 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setPlaying( [INFO] [stdout] 130 | | mut env: JNIEnv, [INFO] [stdout] 131 | | _class: JClass, [INFO] [stdout] 132 | | handle: jlong, [INFO] [stdout] 133 | | playing: jboolean, [INFO] [stdout] 134 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_isPlaying( [INFO] [stdout] 146 | | mut env: JNIEnv, [INFO] [stdout] 147 | | _class: JClass, [INFO] [stdout] 148 | | handle: jlong, [INFO] [stdout] 149 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [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/main/rust/jni_interface/file_dialogue.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | let library = albums_from_jni(env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn serialize_albums(env: &mut JNIEnv, albums: JObject) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni::objects::JObject::<'local>::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let album = JObject::from_raw(album.rust_album_to_java(env)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn library_to_jlist(env: &mut JNIEnv, mut library: Library) -> jobject{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_size` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Buffers { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | block_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `work0`, `work1`, and `block_size` are never used [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Buffers { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn work0(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn work1(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::serialize_albums` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = serialize_albums(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serialize( [INFO] [stdout] 71 | | mut env: JNIEnv, [INFO] [stdout] 72 | | _class: JClass, [INFO] [stdout] 73 | | albums: JObject, [INFO] [stdout] 74 | | ) -> jbyteArray { [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserialize( [INFO] [stdout] 83 | | mut env: JNIEnv, [INFO] [stdout] 84 | | _class: JClass, [INFO] [stdout] 85 | | data: JByteArray, [INFO] [stdout] 86 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut library = bincode::serde::decode_from_slice::< [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:106:18 [INFO] [stdout] | [INFO] [stdout] 106 | let albums = albums_from_jni(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serializeAndSaveToFile( [INFO] [stdout] 99 | | mut env: JNIEnv, [INFO] [stdout] 100 | | _class: JClass, [INFO] [stdout] 101 | | albums: JObject, [INFO] [stdout] 102 | | destination: JString, [INFO] [stdout] 103 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut file = File::create(destination).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserializeFromFile( [INFO] [stdout] 116 | | mut env: JNIEnv, [INFO] [stdout] 117 | | _class: JClass, [INFO] [stdout] 118 | | source: JString, [INFO] [stdout] 119 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut file = File::open(source).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | handle: jlong, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/audio_diag.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut res = binding.to_string_lossy(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device_class` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let device_class = dev.device_class(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_open` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stdout] | _______________________^ [INFO] [stdout] 137 | | &mut handle, [INFO] [stdout] 138 | | device_name, [INFO] [stdout] 139 | | SND_PCM_STREAM_PLAYBACK, [INFO] [stdout] 140 | | SND_PCM_NONBLOCK, [INFO] [stdout] 141 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn support_dsd(device_name: *const c_char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_strerror` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_malloc` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | alsa::snd_pcm_hw_params_malloc(&mut params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_any` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | alsa::snd_pcm_hw_params_any(handle, params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_test_format` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if alsa::snd_pcm_hw_params_test_format(handle, params, alsa::SND_PCM_FORMAT_DSD_U32_BE) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | alsa::snd_pcm_hw_params_free(params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_close` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | alsa::snd_pcm_close(handle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [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/main/rust/operative/dsd_player.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut err = alsa::snd_device_name_hint(-1, pcm_const.as_ptr(), &mut devices_raw); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let mut hw_params: *mut alsa::snd_pcm_hw_params_t = ptr::null_mut(); [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/main/rust/operative/dsd_player.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | let mut reader = [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/main/rust/operative/dsd_player.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut alsa_buffer_size = 8192 * (format.sampling_rate / 2822400) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snd_size` [INFO] [stdout] --> src/main/rust/operative/dsd_readers.rs:345:25 [INFO] [stdout] | [INFO] [stdout] 345 | let snd_size = self.file.read_u64::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snd_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut player = AudioPlayer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_size` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Buffers { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | block_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `work0`, `work1`, and `block_size` are never used [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Buffers { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn work0(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn work1(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14m 00s [INFO] running `Command { std: "docker" "inspect" "d2cc14007feb33788d32e3e745720a648b3916bf2078fb87cb0607b924b55dff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2cc14007feb33788d32e3e745720a648b3916bf2078fb87cb0607b924b55dff", kill_on_drop: false }` [INFO] [stdout] d2cc14007feb33788d32e3e745720a648b3916bf2078fb87cb0607b924b55dff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] df069862d74bc1c4d45d42857215f6ab32698eefc79a7bf19ad80d38864be4b5 [INFO] running `Command { std: "docker" "start" "-a" "df069862d74bc1c4d45d42857215f6ab32698eefc79a7bf19ad80d38864be4b5", kill_on_drop: false }` [INFO] [stderr] Compiling vo-audio-player v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `JList` [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JObject` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JClass, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gstreamer::MessageView` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gstreamer::MessageView; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::j_objects::track::Track` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::j_objects::track::Track; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::JNIEnv` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use jni::JNIEnv; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JByteArray`, `JObject`, `JString`, and `JValue` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JByteArray, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::sys::jobject` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::sys::jobject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::operative::dsd_player::DsdPlayer` [INFO] [stdout] --> src/main/rust/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::operative::dsd_player::DsdPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `LittleEndian`, and `ReadBytesExt` [INFO] [stdout] --> src/main/rust/main.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use byteorder::{BigEndian, LittleEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/main/rust/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `AtomicBool`, `Mutex`, `Ordering`, `Read`, `SeekFrom`, `Seek`, `fs::File`, `self`, `thread`, and `time::Duration` [INFO] [stdout] --> src/main/rust/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 6 | io::{self, Read, Seek, SeekFrom}, [INFO] [stdout] | ^^^^ ^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] 7 | sync::{ [INFO] [stdout] 8 | Arc, Mutex, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] 9 | atomic::{AtomicBool, Ordering}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 10 | }, [INFO] [stdout] 11 | thread, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JList` [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `JObject` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JClass, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gstreamer::MessageView` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use gstreamer::MessageView; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::j_objects::track::Track` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::j_objects::track::Track; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::JNIEnv` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use jni::JNIEnv; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `JByteArray`, `JObject`, `JString`, and `JValue` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use jni::objects::{JByteArray, JObject, JString, JValue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jni::sys::jobject` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use jni::sys::jobject; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/main/rust/operative/library_serializer.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setDevice( [INFO] [stdout] 32 | | mut env: JNIEnv, [INFO] [stdout] 33 | | _class: JClass, [INFO] [stdout] 34 | | handle: jlong, [INFO] [stdout] 35 | | device_name: JString, [INFO] [stdout] 36 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_loadTrack( [INFO] [stdout] 53 | | mut env: JNIEnv, [INFO] [stdout] 54 | | _class: JClass, [INFO] [stdout] 55 | | handle: jlong, [INFO] [stdout] 56 | | path: JString, [INFO] [stdout] 57 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_seekTrack( [INFO] [stdout] 65 | | mut env: JNIEnv, [INFO] [stdout] 66 | | _class: JClass, [INFO] [stdout] 67 | | handle: jlong, [INFO] [stdout] 68 | | percent: jfloat, [INFO] [stdout] 69 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [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: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackLength( [INFO] [stdout] 77 | | mut env: JNIEnv, [INFO] [stdout] 78 | | _class: JClass, [INFO] [stdout] 79 | | handle: jlong, [INFO] [stdout] 80 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_pollEventsMain( [INFO] [stdout] 91 | | mut env: JNIEnv, [INFO] [stdout] 92 | | _class: JClass, [INFO] [stdout] 93 | | handle: jlong, [INFO] [stdout] 94 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackPos( [INFO] [stdout] 105 | | mut env: JNIEnv, [INFO] [stdout] 106 | | _class: JClass, [INFO] [stdout] 107 | | handle: jlong, [INFO] [stdout] 108 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 124 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_stop( [INFO] [stdout] 119 | | mut env: JNIEnv, [INFO] [stdout] 120 | | _class: JClass, [INFO] [stdout] 121 | | handle: jlong, [INFO] [stdout] 122 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setPlaying( [INFO] [stdout] 130 | | mut env: JNIEnv, [INFO] [stdout] 131 | | _class: JClass, [INFO] [stdout] 132 | | handle: jlong, [INFO] [stdout] 133 | | playing: jboolean, [INFO] [stdout] 134 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_isPlaying( [INFO] [stdout] 146 | | mut env: JNIEnv, [INFO] [stdout] 147 | | _class: JClass, [INFO] [stdout] 148 | | handle: jlong, [INFO] [stdout] 149 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [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/main/rust/jni_interface/file_dialogue.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | let library = albums_from_jni(env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn serialize_albums(env: &mut JNIEnv, albums: JObject) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni::objects::JObject::<'local>::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let album = JObject::from_raw(album.rust_album_to_java(env)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn library_to_jlist(env: &mut JNIEnv, mut library: Library) -> jobject{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::serialize_albums` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = serialize_albums(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serialize( [INFO] [stdout] 71 | | mut env: JNIEnv, [INFO] [stdout] 72 | | _class: JClass, [INFO] [stdout] 73 | | albums: JObject, [INFO] [stdout] 74 | | ) -> jbyteArray { [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserialize( [INFO] [stdout] 83 | | mut env: JNIEnv, [INFO] [stdout] 84 | | _class: JClass, [INFO] [stdout] 85 | | data: JByteArray, [INFO] [stdout] 86 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut library = bincode::serde::decode_from_slice::< [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:106:18 [INFO] [stdout] | [INFO] [stdout] 106 | let albums = albums_from_jni(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serializeAndSaveToFile( [INFO] [stdout] 99 | | mut env: JNIEnv, [INFO] [stdout] 100 | | _class: JClass, [INFO] [stdout] 101 | | albums: JObject, [INFO] [stdout] 102 | | destination: JString, [INFO] [stdout] 103 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut file = File::create(destination).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserializeFromFile( [INFO] [stdout] 116 | | mut env: JNIEnv, [INFO] [stdout] 117 | | _class: JClass, [INFO] [stdout] 118 | | source: JString, [INFO] [stdout] 119 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut file = File::open(source).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | handle: jlong, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/audio_diag.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut res = binding.to_string_lossy(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device_class` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let device_class = dev.device_class(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_open` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stdout] | _______________________^ [INFO] [stdout] 137 | | &mut handle, [INFO] [stdout] 138 | | device_name, [INFO] [stdout] 139 | | SND_PCM_STREAM_PLAYBACK, [INFO] [stdout] 140 | | SND_PCM_NONBLOCK, [INFO] [stdout] 141 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn support_dsd(device_name: *const c_char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_strerror` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_malloc` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | alsa::snd_pcm_hw_params_malloc(&mut params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_any` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | alsa::snd_pcm_hw_params_any(handle, params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_test_format` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if alsa::snd_pcm_hw_params_test_format(handle, params, alsa::SND_PCM_FORMAT_DSD_U32_BE) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | alsa::snd_pcm_hw_params_free(params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_close` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | alsa::snd_pcm_close(handle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [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/main/rust/operative/dsd_player.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut err = alsa::snd_device_name_hint(-1, pcm_const.as_ptr(), &mut devices_raw); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let mut hw_params: *mut alsa::snd_pcm_hw_params_t = ptr::null_mut(); [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/main/rust/operative/dsd_player.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | let mut reader = [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/main/rust/operative/dsd_player.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut alsa_buffer_size = 8192 * (format.sampling_rate / 2822400) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snd_size` [INFO] [stdout] --> src/main/rust/operative/dsd_readers.rs:345:25 [INFO] [stdout] | [INFO] [stdout] 345 | let snd_size = self.file.read_u64::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snd_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_size` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Buffers { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | block_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `work0`, `work1`, and `block_size` are never used [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Buffers { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn work0(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn work1(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setDevice( [INFO] [stdout] 32 | | mut env: JNIEnv, [INFO] [stdout] 33 | | _class: JClass, [INFO] [stdout] 34 | | handle: jlong, [INFO] [stdout] 35 | | device_name: JString, [INFO] [stdout] 36 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_loadTrack( [INFO] [stdout] 53 | | mut env: JNIEnv, [INFO] [stdout] 54 | | _class: JClass, [INFO] [stdout] 55 | | handle: jlong, [INFO] [stdout] 56 | | path: JString, [INFO] [stdout] 57 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_seekTrack( [INFO] [stdout] 65 | | mut env: JNIEnv, [INFO] [stdout] 66 | | _class: JClass, [INFO] [stdout] 67 | | handle: jlong, [INFO] [stdout] 68 | | percent: jfloat, [INFO] [stdout] 69 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | mut env: JNIEnv, [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: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackLength( [INFO] [stdout] 77 | | mut env: JNIEnv, [INFO] [stdout] 78 | | _class: JClass, [INFO] [stdout] 79 | | handle: jlong, [INFO] [stdout] 80 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 96 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_pollEventsMain( [INFO] [stdout] 91 | | mut env: JNIEnv, [INFO] [stdout] 92 | | _class: JClass, [INFO] [stdout] 93 | | handle: jlong, [INFO] [stdout] 94 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackPos( [INFO] [stdout] 105 | | mut env: JNIEnv, [INFO] [stdout] 106 | | _class: JClass, [INFO] [stdout] 107 | | handle: jlong, [INFO] [stdout] 108 | | ) -> jlong { [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:124:18 [INFO] [stdout] | [INFO] [stdout] 124 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:118:1 [INFO] [stdout] | [INFO] [stdout] 118 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_stop( [INFO] [stdout] 119 | | mut env: JNIEnv, [INFO] [stdout] 120 | | _class: JClass, [INFO] [stdout] 121 | | handle: jlong, [INFO] [stdout] 122 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setPlaying( [INFO] [stdout] 130 | | mut env: JNIEnv, [INFO] [stdout] 131 | | _class: JClass, [INFO] [stdout] 132 | | handle: jlong, [INFO] [stdout] 133 | | playing: jboolean, [INFO] [stdout] 134 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | let player = player.as_mut().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_isPlaying( [INFO] [stdout] 146 | | mut env: JNIEnv, [INFO] [stdout] 147 | | _class: JClass, [INFO] [stdout] 148 | | handle: jlong, [INFO] [stdout] 149 | | ) -> jboolean { [INFO] [stdout] | |_____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/player.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | mut env: JNIEnv, [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/main/rust/jni_interface/file_dialogue.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | mut env: JNIEnv, [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | let library = albums_from_jni(env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn serialize_albums(env: &mut JNIEnv, albums: JObject) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni::objects::JObject::<'local>::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let album = JObject::from_raw(album.rust_album_to_java(env)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | unsafe fn library_to_jlist(env: &mut JNIEnv, mut library: Library) -> jobject{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::serialize_albums` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = serialize_albums(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serialize( [INFO] [stdout] 71 | | mut env: JNIEnv, [INFO] [stdout] 72 | | _class: JClass, [INFO] [stdout] 73 | | albums: JObject, [INFO] [stdout] 74 | | ) -> jbyteArray { [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserialize( [INFO] [stdout] 83 | | mut env: JNIEnv, [INFO] [stdout] 84 | | _class: JClass, [INFO] [stdout] 85 | | data: JByteArray, [INFO] [stdout] 86 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let mut library = bincode::serde::decode_from_slice::< [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:106:18 [INFO] [stdout] | [INFO] [stdout] 106 | let albums = albums_from_jni(&mut env, albums); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:98:1 [INFO] [stdout] | [INFO] [stdout] 98 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serializeAndSaveToFile( [INFO] [stdout] 99 | | mut env: JNIEnv, [INFO] [stdout] 100 | | _class: JClass, [INFO] [stdout] 101 | | albums: JObject, [INFO] [stdout] 102 | | destination: JString, [INFO] [stdout] 103 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | let mut file = File::create(destination).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | library_to_jlist(&mut env, library) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:115:1 [INFO] [stdout] | [INFO] [stdout] 115 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserializeFromFile( [INFO] [stdout] 116 | | mut env: JNIEnv, [INFO] [stdout] 117 | | _class: JClass, [INFO] [stdout] 118 | | source: JString, [INFO] [stdout] 119 | | ) -> jobject { [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/jni_interface/library_serializer.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let mut file = File::open(source).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | handle: jlong, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/main/rust/jni_interface/jni_dsd_player.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | env: JNIEnv, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/audio_diag.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut res = binding.to_string_lossy(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device_class` [INFO] [stdout] --> src/main/rust/operative/audio_player.rs:52:21 [INFO] [stdout] | [INFO] [stdout] 52 | let device_class = dev.device_class(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_open` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stdout] | _______________________^ [INFO] [stdout] 137 | | &mut handle, [INFO] [stdout] 138 | | device_name, [INFO] [stdout] 139 | | SND_PCM_STREAM_PLAYBACK, [INFO] [stdout] 140 | | SND_PCM_NONBLOCK, [INFO] [stdout] 141 | | ); [INFO] [stdout] | |_________^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn support_dsd(device_name: *const c_char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_strerror` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_malloc` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | alsa::snd_pcm_hw_params_malloc(&mut params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_any` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | alsa::snd_pcm_hw_params_any(handle, params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_test_format` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if alsa::snd_pcm_hw_params_test_format(handle, params, alsa::SND_PCM_FORMAT_DSD_U32_BE) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | alsa::snd_pcm_hw_params_free(params); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_close` is unsafe and requires unsafe block [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | alsa::snd_pcm_close(handle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:136:13 [INFO] [stdout] | [INFO] [stdout] 136 | let mut err = alsa::snd_pcm_open( [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/main/rust/operative/dsd_player.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut err = alsa::snd_device_name_hint(-1, pcm_const.as_ptr(), &mut devices_raw); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:208:21 [INFO] [stdout] | [INFO] [stdout] 208 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | let mut hw_params: *mut alsa::snd_pcm_hw_params_t = ptr::null_mut(); [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/main/rust/operative/dsd_player.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | let mut reader = [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/main/rust/operative/dsd_player.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | let mut alsa_buffer_size = 8192 * (format.sampling_rate / 2822400) as usize; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `err` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:315:21 [INFO] [stdout] | [INFO] [stdout] 315 | let mut err: i32 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snd_size` [INFO] [stdout] --> src/main/rust/operative/dsd_readers.rs:345:25 [INFO] [stdout] | [INFO] [stdout] 345 | let snd_size = self.file.read_u64::()?; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snd_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main/rust/main.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut player = AudioPlayer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_size` is never read [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct Buffers { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | block_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `work0`, `work1`, and `block_size` are never used [INFO] [stdout] --> src/main/rust/operative/dsd_player.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Buffers { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn work0(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn work1(&self) -> &Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "df069862d74bc1c4d45d42857215f6ab32698eefc79a7bf19ad80d38864be4b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df069862d74bc1c4d45d42857215f6ab32698eefc79a7bf19ad80d38864be4b5", kill_on_drop: false }` [INFO] [stdout] df069862d74bc1c4d45d42857215f6ab32698eefc79a7bf19ad80d38864be4b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] da3de3e5640dee58e213cf9f6145906a7ce0df98dc580eae408a3978c84872bd [INFO] running `Command { std: "docker" "start" "-a" "da3de3e5640dee58e213cf9f6145906a7ce0df98dc580eae408a3978c84872bd", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::operative::dsd_player::DsdPlayer` [INFO] [stderr] --> src/main/rust/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::operative::dsd_player::DsdPlayer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BigEndian`, `LittleEndian`, and `ReadBytesExt` [INFO] [stderr] --> src/main/rust/main.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use byteorder::{BigEndian, LittleEndian, ReadBytesExt}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::ErrorKind` [INFO] [stderr] --> src/main/rust/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `AtomicBool`, `Mutex`, `Ordering`, `Read`, `SeekFrom`, `Seek`, `fs::File`, `self`, `thread`, and `time::Duration` [INFO] [stderr] --> src/main/rust/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | fs::File, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 6 | io::{self, Read, Seek, SeekFrom}, [INFO] [stderr] | ^^^^ ^^^^ ^^^^ ^^^^^^^^ [INFO] [stderr] 7 | sync::{ [INFO] [stderr] 8 | Arc, Mutex, [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] 9 | atomic::{AtomicBool, Ordering}, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] 10 | }, [INFO] [stderr] 11 | thread, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 12 | time::Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JList` [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stderr] | [INFO] [stderr] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JObject` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:3:28 [INFO] [stderr] | [INFO] [stderr] 3 | use jni::objects::{JClass, JObject, JString, JValue}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gstreamer::MessageView` [INFO] [stderr] --> src/main/rust/operative/audio_player.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use gstreamer::MessageView; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::j_objects::track::Track` [INFO] [stderr] --> src/main/rust/operative/library_serializer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::j_objects::track::Track; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jni::JNIEnv` [INFO] [stderr] --> src/main/rust/operative/library_serializer.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use jni::JNIEnv; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `JByteArray`, `JObject`, `JString`, and `JValue` [INFO] [stderr] --> src/main/rust/operative/library_serializer.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use jni::objects::{JByteArray, JObject, JString, JValue}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jni::sys::jobject` [INFO] [stderr] --> src/main/rust/operative/library_serializer.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jni::sys::jobject; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/main/rust/operative/library_serializer.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setDevice( [INFO] [stderr] 32 | | mut env: JNIEnv, [INFO] [stderr] 33 | | _class: JClass, [INFO] [stderr] 34 | | handle: jlong, [INFO] [stderr] 35 | | device_name: JString, [INFO] [stderr] 36 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:59:18 [INFO] [stderr] | [INFO] [stderr] 59 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_loadTrack( [INFO] [stderr] 53 | | mut env: JNIEnv, [INFO] [stderr] 54 | | _class: JClass, [INFO] [stderr] 55 | | handle: jlong, [INFO] [stderr] 56 | | path: JString, [INFO] [stderr] 57 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_seekTrack( [INFO] [stderr] 65 | | mut env: JNIEnv, [INFO] [stderr] 66 | | _class: JClass, [INFO] [stderr] 67 | | handle: jlong, [INFO] [stderr] 68 | | percent: jfloat, [INFO] [stderr] 69 | | ) -> jboolean { [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:82:18 [INFO] [stderr] | [INFO] [stderr] 82 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackLength( [INFO] [stderr] 77 | | mut env: JNIEnv, [INFO] [stderr] 78 | | _class: JClass, [INFO] [stderr] 79 | | handle: jlong, [INFO] [stderr] 80 | | ) -> jlong { [INFO] [stderr] | |__________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:96:18 [INFO] [stderr] | [INFO] [stderr] 96 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_pollEventsMain( [INFO] [stderr] 91 | | mut env: JNIEnv, [INFO] [stderr] 92 | | _class: JClass, [INFO] [stderr] 93 | | handle: jlong, [INFO] [stderr] 94 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:104:1 [INFO] [stderr] | [INFO] [stderr] 104 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_getTrackPos( [INFO] [stderr] 105 | | mut env: JNIEnv, [INFO] [stderr] 106 | | _class: JClass, [INFO] [stderr] 107 | | handle: jlong, [INFO] [stderr] 108 | | ) -> jlong { [INFO] [stderr] | |__________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:124:18 [INFO] [stderr] | [INFO] [stderr] 124 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:118:1 [INFO] [stderr] | [INFO] [stderr] 118 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_stop( [INFO] [stderr] 119 | | mut env: JNIEnv, [INFO] [stderr] 120 | | _class: JClass, [INFO] [stderr] 121 | | handle: jlong, [INFO] [stderr] 122 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:136:18 [INFO] [stderr] | [INFO] [stderr] 136 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:129:1 [INFO] [stderr] | [INFO] [stderr] 129 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_setPlaying( [INFO] [stderr] 130 | | mut env: JNIEnv, [INFO] [stderr] 131 | | _class: JClass, [INFO] [stderr] 132 | | handle: jlong, [INFO] [stderr] 133 | | playing: jboolean, [INFO] [stderr] 134 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | mut env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::as_mut` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:151:18 [INFO] [stderr] | [INFO] [stderr] 151 | let player = player.as_mut().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:145:1 [INFO] [stderr] | [INFO] [stderr] 145 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_Player_isPlaying( [INFO] [stderr] 146 | | mut env: JNIEnv, [INFO] [stderr] 147 | | _class: JClass, [INFO] [stderr] 148 | | handle: jlong, [INFO] [stderr] 149 | | ) -> jboolean { [INFO] [stderr] | |_____________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/player.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/file_dialogue.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | mut env: JNIEnv, [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:44:19 [INFO] [stderr] | [INFO] [stderr] 44 | let library = albums_from_jni(env, albums); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | unsafe fn serialize_albums(env: &mut JNIEnv, albums: JObject) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni::objects::JObject::<'local>::from_raw` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | let album = JObject::from_raw(album.rust_album_to_java(env)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | unsafe fn library_to_jlist(env: &mut JNIEnv, mut library: Library) -> jobject{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni_interface::library_serializer::serialize_albums` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:75:16 [INFO] [stderr] | [INFO] [stderr] 75 | let data = serialize_albums(&mut env, albums); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serialize( [INFO] [stderr] 71 | | mut env: JNIEnv, [INFO] [stderr] 72 | | _class: JClass, [INFO] [stderr] 73 | | albums: JObject, [INFO] [stderr] 74 | | ) -> jbyteArray { [INFO] [stderr] | |_______________^ [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | library_to_jlist(&mut env, library) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:82:1 [INFO] [stderr] | [INFO] [stderr] 82 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserialize( [INFO] [stderr] 83 | | mut env: JNIEnv, [INFO] [stderr] 84 | | _class: JClass, [INFO] [stderr] 85 | | data: JByteArray, [INFO] [stderr] 86 | | ) -> jobject { [INFO] [stderr] | |____________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | let mut library = bincode::serde::decode_from_slice::< [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni_interface::library_serializer::albums_from_jni` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | let albums = albums_from_jni(&mut env, albums); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:98:1 [INFO] [stderr] | [INFO] [stderr] 98 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_serializeAndSaveToFile( [INFO] [stderr] 99 | | mut env: JNIEnv, [INFO] [stderr] 100 | | _class: JClass, [INFO] [stderr] 101 | | albums: JObject, [INFO] [stderr] 102 | | destination: JString, [INFO] [stderr] 103 | | ) { [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | let mut file = File::create(destination).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `jni_interface::library_serializer::library_to_jlist` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | library_to_jlist(&mut env, library) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:115:1 [INFO] [stderr] | [INFO] [stderr] 115 | / pub unsafe extern "system" fn Java_com_kgaft_VoidAudioPlayer_Native_LibrarySerializer_deserializeFromFile( [INFO] [stderr] 116 | | mut env: JNIEnv, [INFO] [stderr] 117 | | _class: JClass, [INFO] [stderr] 118 | | source: JString, [INFO] [stderr] 119 | | ) -> jobject { [INFO] [stderr] | |____________^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | let mut file = File::open(source).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `handle` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | handle: jlong, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/main/rust/jni_interface/jni_dsd_player.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | env: JNIEnv, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/audio_diag.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | let mut res = binding.to_string_lossy(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `device_class` [INFO] [stderr] --> src/main/rust/operative/audio_player.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | let device_class = dev.device_class(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_class` [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_open` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:136:23 [INFO] [stderr] | [INFO] [stderr] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stderr] | _______________________^ [INFO] [stderr] 137 | | &mut handle, [INFO] [stderr] 138 | | device_name, [INFO] [stderr] 139 | | SND_PCM_STREAM_PLAYBACK, [INFO] [stderr] 140 | | SND_PCM_NONBLOCK, [INFO] [stderr] 141 | | ); [INFO] [stderr] | |_________^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | pub unsafe fn support_dsd(device_name: *const c_char) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:145:31 [INFO] [stderr] | [INFO] [stderr] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_strerror` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:145:46 [INFO] [stderr] | [INFO] [stderr] 145 | CString::from(CStr::from_ptr(alsa::snd_strerror(err))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_malloc` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | alsa::snd_pcm_hw_params_malloc(&mut params); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_any` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | alsa::snd_pcm_hw_params_any(handle, params); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_test_format` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if alsa::snd_pcm_hw_params_test_format(handle, params, alsa::SND_PCM_FORMAT_DSD_U32_BE) == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_hw_params_free` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | alsa::snd_pcm_hw_params_free(params); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `operative::dsd_player::alsa::snd_pcm_close` is unsafe and requires unsafe block [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | alsa::snd_pcm_close(handle); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut err = alsa::snd_pcm_open( [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | let mut err = alsa::snd_device_name_hint(-1, pcm_const.as_ptr(), &mut devices_raw); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `err` is never read [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:208:21 [INFO] [stderr] | [INFO] [stderr] 208 | let mut err: i32 = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:210:17 [INFO] [stderr] | [INFO] [stderr] 210 | let mut hw_params: *mut alsa::snd_pcm_hw_params_t = ptr::null_mut(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:292:13 [INFO] [stderr] | [INFO] [stderr] 292 | let mut reader = [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | let mut alsa_buffer_size = 8192 * (format.sampling_rate / 2822400) as usize; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `err` is never read [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:315:21 [INFO] [stderr] | [INFO] [stderr] 315 | let mut err: i32 = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `snd_size` [INFO] [stderr] --> src/main/rust/operative/dsd_readers.rs:345:25 [INFO] [stderr] | [INFO] [stderr] 345 | let snd_size = self.file.read_u64::()?; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snd_size` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main/rust/main.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let mut player = AudioPlayer::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `block_size` is never read [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 36 | struct Buffers { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | block_size: usize, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `work0`, `work1`, and `block_size` are never used [INFO] [stderr] --> src/main/rust/operative/dsd_player.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 43 | impl Buffers { [INFO] [stderr] | ------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn work0(&self) -> &Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn work1(&self) -> &Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | pub fn block_size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0133`. [INFO] [stderr] warning: unused import: `JList` [INFO] [stderr] --> src/main/rust/jni_interface/library_serializer.rs:4:40 [INFO] [stderr] | [INFO] [stderr] 4 | use jni::objects::{JByteArray, JClass, JList, JObject, JString, JValue}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `vo-audio-player` (bin "votesting" test) generated 75 warnings (run `cargo fix --bin "votesting" --tests` to apply 46 suggestions) [INFO] [stderr] warning: `vo-audio-player` (lib test) generated 70 warnings (69 duplicates) (run `cargo fix --lib -p vo-audio-player --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s [INFO] [stderr] Running unittests src/main/rust/lib.rs (/opt/rustwide/target/debug/deps/vobackend-7b0fdb2b41c46b8d) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main/rust/main.rs (/opt/rustwide/target/debug/deps/votesting-b9e1d2f76b3f2435) [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] running `Command { std: "docker" "inspect" "da3de3e5640dee58e213cf9f6145906a7ce0df98dc580eae408a3978c84872bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da3de3e5640dee58e213cf9f6145906a7ce0df98dc580eae408a3978c84872bd", kill_on_drop: false }` [INFO] [stdout] da3de3e5640dee58e213cf9f6145906a7ce0df98dc580eae408a3978c84872bd