summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@chromium.org>2019-04-12 19:58:34 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-17 17:22:47 -0700
commite246836798e8f0f7c17356ed848e296d61365adc (patch)
tree1717a58c110894206616f5e747ccd5fc6c864ac2
parent967c2f2c9bce9e177f0eea3f1bb73d35d9c95922 (diff)
downloadcrosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar.gz
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar.bz2
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar.lz
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar.xz
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.tar.zst
crosvm-e246836798e8f0f7c17356ed848e296d61365adc.zip
clippy: Resolve while_let_loop
TEST=bin/clippy

Change-Id: Iae447ec2c1b095286ab02cd153bd2daafe95fae1
Reviewed-on: https://chromium-review.googlesource.com/1566894
Commit-Ready: David Tolnay <dtolnay@chromium.org>
Tested-by: David Tolnay <dtolnay@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
-rwxr-xr-xbin/clippy1
-rw-r--r--devices/src/usb/xhci/ring_buffer.rs7
-rw-r--r--devices/src/virtio/gpu/mod.rs22
-rw-r--r--p9/src/server.rs9
4 files changed, 9 insertions, 30 deletions
diff --git a/bin/clippy b/bin/clippy
index c778f0f..fbf5dc7 100755
--- a/bin/clippy
+++ b/bin/clippy
@@ -36,7 +36,6 @@ SUPPRESS=(
     unneeded_field_pattern
     unused_unit
     useless_format
-    while_let_loop
 
     # To be resolved or suppressed locally.
     cast_ptr_alignment
diff --git a/devices/src/usb/xhci/ring_buffer.rs b/devices/src/usb/xhci/ring_buffer.rs
index bd17395..1eee3e2 100644
--- a/devices/src/usb/xhci/ring_buffer.rs
+++ b/devices/src/usb/xhci/ring_buffer.rs
@@ -66,12 +66,7 @@ impl RingBuffer {
     /// Dequeue next transfer descriptor from the transfer ring.
     pub fn dequeue_transfer_descriptor(&mut self) -> Result<Option<TransferDescriptor>> {
         let mut td: TransferDescriptor = TransferDescriptor::new();
-        loop {
-            let addressed_trb = match self.get_current_trb()? {
-                Some(t) => t,
-                None => break,
-            };
-
+        while let Some(addressed_trb) = self.get_current_trb()? {
             match addressed_trb.trb.trb_type() {
                 Ok(TrbType::Link) => {
                     let link_trb = addressed_trb
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs
index 251b59c..686c174 100644
--- a/devices/src/virtio/gpu/mod.rs
+++ b/devices/src/virtio/gpu/mod.rs
@@ -570,26 +570,16 @@ impl Worker {
             }
 
             // All cursor commands go first because they have higher priority.
-            loop {
-                match self.state.process_cursor(&self.mem) {
-                    Some(ReturnDescriptor { index, len }) => {
-                        self.cursor_queue.add_used(&self.mem, index, len);
-                        signal_used = true;
-                    }
-                    None => break,
-                }
+            while let Some(desc) = self.state.process_cursor(&self.mem) {
+                self.cursor_queue.add_used(&self.mem, desc.index, desc.len);
+                signal_used = true;
             }
 
             self.state.fence_poll();
 
-            loop {
-                match self.state.process_ctrl(&self.mem) {
-                    Some(ReturnDescriptor { index, len }) => {
-                        self.ctrl_queue.add_used(&self.mem, index, len);
-                        signal_used = true;
-                    }
-                    None => break,
-                }
+            while let Some(desc) = self.state.process_ctrl(&self.mem) {
+                self.ctrl_queue.add_used(&self.mem, desc.index, desc.len);
+                signal_used = true;
             }
 
             // Process the entire control queue before the resource bridge in case a resource is
diff --git a/p9/src/server.rs b/p9/src/server.rs
index d292cca..bc22cbc 100644
--- a/p9/src/server.rs
+++ b/p9/src/server.rs
@@ -785,13 +785,8 @@ impl Server {
         let count = min(self.msize - header_size, readdir.count);
         let mut cursor = Cursor::new(Vec::with_capacity(count as usize));
 
-        loop {
-            let byte_size = if let Some(entry) = entries.peek() {
-                entry.byte_size() as usize
-            } else {
-                // No more entries.
-                break;
-            };
+        while let Some(entry) = entries.peek() {
+            let byte_size = entry.byte_size() as usize;
 
             if cursor.get_ref().capacity() - cursor.get_ref().len() < byte_size {
                 // No more room in the buffer.