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 })
     }