Bind ignored results.
std::io::Error implements Drop in some configurations. A value that
implements Drop will be dropped immediately when not bound (and _ does
not bind). This is asymptomatic in this case but we want to deny this
behavior globally because it has very surprising behavior when the
"unused" value is a lock.
Bug: 281730184
Test: mm
Change-Id: I325f7bb1ca8eb74f56fbb3926e4e79e833a265a4
diff --git a/authfs/service/src/authfs.rs b/authfs/service/src/authfs.rs
index 3e8e0e0..cfd5766 100644
--- a/authfs/service/src/authfs.rs
+++ b/authfs/service/src/authfs.rs
@@ -176,7 +176,7 @@
bail!("Child has exited: {}", exit_status);
}
if start_time.elapsed() > AUTHFS_SETUP_TIMEOUT_SEC {
- let _ = child.kill();
+ let _ignored = child.kill();
bail!("Time out mounting authfs");
}
sleep(AUTHFS_SETUP_POLL_INTERVAL_MS);
diff --git a/authfs/src/fusefs.rs b/authfs/src/fusefs.rs
index 544a94e..87bdffc 100644
--- a/authfs/src/fusefs.rs
+++ b/authfs/src/fusefs.rs
@@ -587,7 +587,7 @@
match delete_now {
Ok(true) => {
- let _ = inode_table.remove(&inode).expect("Removed an existing entry");
+ let _ignored = inode_table.remove(&inode).expect("Removed an existing entry");
}
Ok(false) => { /* Let the inode stay */ }
Err(e) => {
diff --git a/compos/common/compos_client.rs b/compos/common/compos_client.rs
index bc6ab25..232485a 100644
--- a/compos/common/compos_client.rs
+++ b/compos/common/compos_client.rs
@@ -164,7 +164,7 @@
/// relevant logs to be written.
pub fn shutdown(self, service: Strong<dyn ICompOsService>) {
info!("Requesting CompOS VM to shutdown");
- let _ = service.quit(); // If this fails, the VM is probably dying anyway
+ let _ignored = service.quit(); // If this fails, the VM is probably dying anyway
self.wait_for_shutdown();
}
diff --git a/compos/composd/src/instance_starter.rs b/compos/composd/src/instance_starter.rs
index fc4c58b..457520f 100644
--- a/compos/composd/src/instance_starter.rs
+++ b/compos/composd/src/instance_starter.rs
@@ -98,17 +98,16 @@
) -> Result<CompOsInstance> {
info!("Creating {} CompOs instance", self.instance_name);
- // Ignore failure here - the directory may already exist.
- let _ = fs::create_dir(&self.instance_root);
+ fs::create_dir_all(&self.instance_root)?;
// Overwrite any existing instance - it's unlikely to be valid with the current set
// of APEXes, and finding out it isn't is much more expensive than creating a new one.
self.create_instance_image(virtualization_service)?;
// Delete existing idsig files. Ignore error in case idsig doesn't exist.
- let _ = fs::remove_file(&self.idsig);
- let _ = fs::remove_file(&self.idsig_manifest_apk);
- let _ = fs::remove_file(&self.idsig_manifest_ext_apk);
+ let _ignored1 = fs::remove_file(&self.idsig);
+ let _ignored2 = fs::remove_file(&self.idsig_manifest_apk);
+ let _ignored3 = fs::remove_file(&self.idsig_manifest_ext_apk);
let instance = self.start_vm(virtualization_service)?;
diff --git a/libs/devicemapper/src/lib.rs b/libs/devicemapper/src/lib.rs
index fec0114..a0435e4 100644
--- a/libs/devicemapper/src/lib.rs
+++ b/libs/devicemapper/src/lib.rs
@@ -338,8 +338,8 @@
scopeguard::defer! {
loopdevice::detach(&data_device).unwrap();
- _ = delete_device(&dm, device);
- _ = delete_device(&dm, &device_diff);
+ let _ignored1 = delete_device(&dm, device);
+ let _ignored2 = delete_device(&dm, &device_diff);
}
let target = DmCryptTargetBuilder::default()
@@ -380,8 +380,8 @@
let device_diff = device.to_owned() + "_diff";
scopeguard::defer! {
loopdevice::detach(&data_device).unwrap();
- _ = delete_device(&dm, device);
- _ = delete_device(&dm, &device_diff);
+ let _ignored1 = delete_device(&dm, device);
+ let _ignored2 = delete_device(&dm, &device_diff);
}
let target = DmCryptTargetBuilder::default()
diff --git a/microdroid_manager/src/main.rs b/microdroid_manager/src/main.rs
index c78b20f..09b23a1 100644
--- a/microdroid_manager/src/main.rs
+++ b/microdroid_manager/src/main.rs
@@ -200,7 +200,7 @@
}
fn try_main() -> Result<()> {
- let _ = kernlog::init();
+ let _ignored = kernlog::init();
info!("started.");
if let Err(e) = set_cloexec_on_vm_payload_service_socket() {
diff --git a/vmclient/src/lib.rs b/vmclient/src/lib.rs
index d67d87e..8f25b99 100644
--- a/vmclient/src/lib.rs
+++ b/vmclient/src/lib.rs
@@ -112,7 +112,7 @@
// Wait for the child to signal that the RpcBinder server is ready
// by closing its end of the pipe.
- let _ = File::from(wait_fd).read(&mut [0]);
+ let _ignored = File::from(wait_fd).read(&mut [0]);
Ok(VirtualizationService { client_fd })
}