[INFO] fetching crate mu_uefi_runtime_services 2.0.0... [INFO] linting mu_uefi_runtime_services-2.0.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate mu_uefi_runtime_services 2.0.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate mu_uefi_runtime_services 2.0.0 [INFO] finished tweaking crates.io crate mu_uefi_runtime_services 2.0.0 [INFO] tweaked toml for crates.io crate mu_uefi_runtime_services 2.0.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate mu_uefi_runtime_services 2.0.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 16 packages to latest compatible versions [INFO] [stderr] Adding mockall v0.13.1 (available: v0.14.0) [INFO] [stderr] Adding r-efi v5.3.0 (available: v6.0.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2a57caaeeea0afbd378f294025ffe606d285bb82fc56bf72a3085fd7d8f0d4c1 [INFO] running `Command { std: "docker" "start" "-a" "2a57caaeeea0afbd378f294025ffe606d285bb82fc56bf72a3085fd7d8f0d4c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2a57caaeeea0afbd378f294025ffe606d285bb82fc56bf72a3085fd7d8f0d4c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a57caaeeea0afbd378f294025ffe606d285bb82fc56bf72a3085fd7d8f0d4c1", kill_on_drop: false }` [INFO] [stdout] 2a57caaeeea0afbd378f294025ffe606d285bb82fc56bf72a3085fd7d8f0d4c1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27df5dcafa52d70271b50929964757ee55dc06ebda8ed64cd353532b4c88b9c7 [INFO] running `Command { std: "docker" "start" "-a" "27df5dcafa52d70271b50929964757ee55dc06ebda8ed64cd353532b4c88b9c7", kill_on_drop: false }` [INFO] [stderr] Checking predicates-core v1.0.10 [INFO] [stderr] Compiling mockall_derive v0.13.1 [INFO] [stderr] Checking r-efi v5.3.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking predicates-tree v1.0.13 [INFO] [stderr] Checking predicates v3.1.4 [INFO] [stderr] Checking mu_uefi_runtime_services v2.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/runtime_services.rs:91:1 [INFO] [stdout] | [INFO] [stdout] 91 | / #[cfg_attr(any(test, feature = "mockall"), automock)] [INFO] [stdout] 92 | | [INFO] [stdout] | |_^ [INFO] [stdout] 93 | /// Interface for Rust-friendly wrappers of the UEFI Runtime Services [INFO] [stdout] 94 | pub trait RuntimeServices: Sized { [INFO] [stdout] | ------------------------- the attribute applies to this trait [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:341:56 [INFO] [stdout] | [INFO] [stdout] 341 | return GetVariableStatus::BufferTooSmall { data_size: data_size, attributes: attributes }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:341:78 [INFO] [stdout] | [INFO] [stdout] 341 | return GetVariableStatus::BufferTooSmall { data_size: data_size, attributes: attributes }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:346:38 [INFO] [stdout] | [INFO] [stdout] 346 | GetVariableStatus::Success { data_size: data_size, attributes: attributes } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:346:60 [INFO] [stdout] | [INFO] [stdout] 346 | GetVariableStatus::Success { data_size: data_size, attributes: attributes } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/variable_services.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | rs: &runtime_services, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `runtime_services` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: slow zero-filling initialization [INFO] [stdout] --> src/variable_services.rs:95:41 [INFO] [stdout] | [INFO] [stdout] 95 | let mut prev_name = Vec::::with_capacity(1); [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 96 | | prev_name.resize(1, 0); [INFO] [stdout] | |__________________________________________^ help: consider replacing this with: `vec![0; 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stdout] = note: `#[warn(clippy::slow_vector_initialization)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/variable_services.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | rs: &runtime_services, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `runtime_services` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Guid` which implements the `Copy` trait [INFO] [stdout] --> src/variable_services.rs:113:75 [INFO] [stdout] | [INFO] [stdout] 113 | current: VariableIdentifier { name: name.to_vec(), namespace: namespace.clone() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*namespace` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/variable_services.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return Ok(()); [INFO] [stdout] 142 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/variable_services.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | return status; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 - return status; [INFO] [stdout] 144 + status [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `size_hint` after checking its variant with `is_some` [INFO] [stdout] --> src/runtime_services.rs:141:25 [INFO] [stdout] | [INFO] [stdout] 140 | if size_hint.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = size_hint` [INFO] [stdout] 141 | data.resize(size_hint.unwrap(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/runtime_services.rs:155:24 [INFO] [stdout] | [INFO] [stdout] 155 | if data.len() == 0 { None } else { Some(&mut data) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/runtime_services.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if prev_name.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prev_name.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/runtime_services.rs:227:51 [INFO] [stdout] | [INFO] [stdout] 227 | self.get_next_variable_name_unchecked(&prev_name, &prev_namespace, &mut next_name, &mut next_namespace)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `prev_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/runtime_services.rs:227:63 [INFO] [stdout] | [INFO] [stdout] 227 | self.get_next_variable_name_unchecked(&prev_name, &prev_namespace, &mut next_name, &mut next_namespace)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `prev_namespace` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/runtime_services.rs:257:38 [INFO] [stdout] | [INFO] [stdout] 257 | unsafe fn get_variable_unchecked<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 261 | data: Option<&'a mut [u8]>, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 257 ~ unsafe fn get_variable_unchecked( [INFO] [stdout] 258 | &self, [INFO] [stdout] 259 | name: &mut [u16], [INFO] [stdout] 260 | namespace: &efi::Guid, [INFO] [stdout] 261 ~ data: Option<&mut [u8]>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut core::ffi::c_void` -> `*mut core::ffi::c_void`) [INFO] [stdout] --> src/runtime_services.rs:336:25 [INFO] [stdout] | [INFO] [stdout] 336 | None => ptr::null_mut() as *mut c_void, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr::null_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/runtime_services.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | return Err(status); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 422 - return Err(status); [INFO] [stdout] 422 + Err(status) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/runtime_services.rs:424:13 [INFO] [stdout] | [INFO] [stdout] 424 | return Ok(var_info); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return Ok(var_info); [INFO] [stdout] 424 + Ok(var_info) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking mockall v0.13.1 [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:341:56 [INFO] [stdout] | [INFO] [stdout] 341 | return GetVariableStatus::BufferTooSmall { data_size: data_size, attributes: attributes }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:341:78 [INFO] [stdout] | [INFO] [stdout] 341 | return GetVariableStatus::BufferTooSmall { data_size: data_size, attributes: attributes }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:346:38 [INFO] [stdout] | [INFO] [stdout] 346 | GetVariableStatus::Success { data_size: data_size, attributes: attributes } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `data_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/runtime_services.rs:346:60 [INFO] [stdout] | [INFO] [stdout] 346 | GetVariableStatus::Success { data_size: data_size, attributes: attributes } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `attributes` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/runtime_services.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 431 | use efi; [INFO] [stdout] | ^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/variable_services.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | rs: &runtime_services, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `runtime_services` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: slow zero-filling initialization [INFO] [stdout] --> src/variable_services.rs:95:41 [INFO] [stdout] | [INFO] [stdout] 95 | let mut prev_name = Vec::::with_capacity(1); [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 96 | | prev_name.resize(1, 0); [INFO] [stdout] | |__________________________________________^ help: consider replacing this with: `vec![0; 1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stdout] = note: `#[warn(clippy::slow_vector_initialization)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/variable_services.rs:112:17 [INFO] [stdout] | [INFO] [stdout] 112 | rs: &runtime_services, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `runtime_services` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Guid` which implements the `Copy` trait [INFO] [stdout] --> src/variable_services.rs:113:75 [INFO] [stdout] | [INFO] [stdout] 113 | current: VariableIdentifier { name: name.to_vec(), namespace: namespace.clone() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*namespace` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/variable_services.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 142 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 142 - return Ok(()); [INFO] [stdout] 142 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/variable_services.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | return status; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 144 - return status; [INFO] [stdout] 144 + status [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `size_hint` after checking its variant with `is_some` [INFO] [stdout] --> src/runtime_services.rs:141:25 [INFO] [stdout] | [INFO] [stdout] 140 | if size_hint.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = size_hint` [INFO] [stdout] 141 | data.resize(size_hint.unwrap(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/runtime_services.rs:155:24 [INFO] [stdout] | [INFO] [stdout] 155 | if data.len() == 0 { None } else { Some(&mut data) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | if !name.iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `name.iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/runtime_services.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if prev_name.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prev_name.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/runtime_services.rs:227:51 [INFO] [stdout] | [INFO] [stdout] 227 | self.get_next_variable_name_unchecked(&prev_name, &prev_namespace, &mut next_name, &mut next_namespace)?; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `prev_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/runtime_services.rs:227:63 [INFO] [stdout] | [INFO] [stdout] 227 | self.get_next_variable_name_unchecked(&prev_name, &prev_namespace, &mut next_name, &mut next_namespace)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `prev_namespace` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/runtime_services.rs:257:38 [INFO] [stdout] | [INFO] [stdout] 257 | unsafe fn get_variable_unchecked<'a>( [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 261 | data: Option<&'a mut [u8]>, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 257 ~ unsafe fn get_variable_unchecked( [INFO] [stdout] 258 | &self, [INFO] [stdout] 259 | name: &mut [u16], [INFO] [stdout] 260 | namespace: &efi::Guid, [INFO] [stdout] 261 ~ data: Option<&mut [u8]>, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*mut std::ffi::c_void` -> `*mut std::ffi::c_void`) [INFO] [stdout] --> src/runtime_services.rs:336:25 [INFO] [stdout] | [INFO] [stdout] 336 | None => ptr::null_mut() as *mut c_void, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr::null_mut()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/runtime_services.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | return Err(status); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 422 - return Err(status); [INFO] [stdout] 422 + Err(status) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/runtime_services.rs:424:13 [INFO] [stdout] | [INFO] [stdout] 424 | return Ok(var_info); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 424 - return Ok(var_info); [INFO] [stdout] 424 + Ok(var_info) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:527:69 [INFO] [stdout] | [INFO] [stdout] 527 | if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] = note: `#[warn(clippy::ptr_offset_with_cast)]` on by default [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 527 - if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] 527 + if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/runtime_services.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | / assert_eq!( [INFO] [stdout] 534 | | DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] 535 | | true, [INFO] [stdout] 536 | | "Variable name does not match expected." [INFO] [stdout] 537 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 533 ~ assert!( [INFO] [stdout] 534 ~ DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:534:68 [INFO] [stdout] | [INFO] [stdout] 534 | DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 534 - DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] 534 + DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:574:69 [INFO] [stdout] | [INFO] [stdout] 574 | if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 574 - if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] 574 + if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/runtime_services.rs:580:13 [INFO] [stdout] | [INFO] [stdout] 580 | / assert_eq!( [INFO] [stdout] 581 | | DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] 582 | | true, [INFO] [stdout] 583 | | "Variable name does not match expected." [INFO] [stdout] 584 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 580 ~ assert!( [INFO] [stdout] 581 ~ DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:581:68 [INFO] [stdout] | [INFO] [stdout] 581 | DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 581 - DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c), [INFO] [stdout] 581 + DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/runtime_services.rs:611:16 [INFO] [stdout] | [INFO] [stdout] 611 | if !slice::from_raw_parts(name, *name_size).iter().position(|&c| c == 0).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `slice::from_raw_parts(name, *name_size).iter().position(|&c| c == 0).is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:615:69 [INFO] [stdout] | [INFO] [stdout] 615 | if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 615 - if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] 615 + if DUMMY_UNKNOWN_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:634:67 [INFO] [stdout] | [INFO] [stdout] 634 | if DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 634 - if DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] 634 + if DUMMY_FIRST_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stdout] --> src/runtime_services.rs:651:68 [INFO] [stdout] | [INFO] [stdout] 651 | if DUMMY_SECOND_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stdout] help: use `add` instead [INFO] [stdout] | [INFO] [stdout] 651 - if DUMMY_SECOND_NAME.iter().enumerate().all(|(i, &c)| *name.offset(i as isize) == c) { [INFO] [stdout] 651 + if DUMMY_SECOND_NAME.iter().enumerate().all(|(i, &c)| *name.add(i) == c) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/runtime_services.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | assert!(false, "Variable name does not match any of expected."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `set_variable` doesn't need a mutable reference [INFO] [stdout] --> src/runtime_services.rs:757:13 [INFO] [stdout] | [INFO] [stdout] 757 | &mut data, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 757 - &mut data, [INFO] [stdout] 757 + &data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `set_variable` doesn't need a mutable reference [INFO] [stdout] --> src/runtime_services.rs:774:13 [INFO] [stdout] | [INFO] [stdout] 774 | &mut data, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 774 - &mut data, [INFO] [stdout] 774 + &data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `set_variable` doesn't need a mutable reference [INFO] [stdout] --> src/runtime_services.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | &mut data, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 788 - &mut data, [INFO] [stdout] 788 + &data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `set_variable` doesn't need a mutable reference [INFO] [stdout] --> src/runtime_services.rs:805:13 [INFO] [stdout] | [INFO] [stdout] 805 | &mut data, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 805 - &mut data, [INFO] [stdout] 805 + &data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates a dangling pointer because temporary `std::mem::MaybeUninit` is dropped at end of statement [INFO] [stdout] --> src/runtime_services.rs:464:82 [INFO] [stdout] | [INFO] [stdout] 464 | let efi_rs = unsafe { mem::MaybeUninit::::zeroed().as_ptr().as_ref().unwrap() }; [INFO] [stdout] | -------------------------------------------------- ^^^^^^ pointer created here [INFO] [stdout] | | [INFO] [stdout] | this `std::mem::MaybeUninit` is dropped at end of statement [INFO] [stdout] | [INFO] [stdout] = help: bind the `std::mem::MaybeUninit` to a variable such that it outlives the pointer returned by `as_ptr` [INFO] [stdout] = note: a dangling pointer is safe, but dereferencing one is undefined behavior [INFO] [stdout] = note: returning a pointer to a local variable will always result in a dangling pointer [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(dangling_pointers_from_temporaries)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.80s [INFO] running `Command { std: "docker" "inspect" "27df5dcafa52d70271b50929964757ee55dc06ebda8ed64cd353532b4c88b9c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27df5dcafa52d70271b50929964757ee55dc06ebda8ed64cd353532b4c88b9c7", kill_on_drop: false }` [INFO] [stdout] 27df5dcafa52d70271b50929964757ee55dc06ebda8ed64cd353532b4c88b9c7