summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@chromium.org>2019-04-12 18:32:40 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-17 17:22:49 -0700
commit3fbeda1d08b516478a6e7c88dabd24a251c11f35 (patch)
tree58ce246e3a4a3027b18e85b66d53e35cf8644911
parent2da9b8181f357d05b839cfb31d6288e1266c70f6 (diff)
downloadcrosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar.gz
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar.bz2
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar.lz
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar.xz
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.tar.zst
crosvm-3fbeda1d08b516478a6e7c88dabd24a251c11f35.zip
clippy: Resolve clone_on_copy
TEST=bin/clippy

Change-Id: Ia9f58fd7ba0b7af6eee455f52b3b9004547aa25e
Reviewed-on: https://chromium-review.googlesource.com/1566659
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/register_space/register.rs18
-rw-r--r--devices/src/usb/xhci/device_slot.rs4
-rw-r--r--devices/src/usb/xhci/event_ring.rs8
-rw-r--r--devices/src/usb/xhci/ring_buffer.rs2
-rw-r--r--net_util/src/lib.rs4
-rw-r--r--usb_util/src/usb_transfer.rs2
7 files changed, 18 insertions, 21 deletions
diff --git a/bin/clippy b/bin/clippy
index 6bc59aa..7c155d1 100755
--- a/bin/clippy
+++ b/bin/clippy
@@ -13,7 +13,6 @@ cd ..
 
 SUPPRESS=(
     # To be resolved.
-    clone_on_copy
     collapsible_if
     const_static_lifetime
     extra_unused_lifetimes
diff --git a/devices/src/register_space/register.rs b/devices/src/register_space/register.rs
index f7d416e..160412c 100644
--- a/devices/src/register_space/register.rs
+++ b/devices/src/register_space/register.rs
@@ -73,11 +73,11 @@ pub trait RegisterValue:
     }
     // Set masked bits.
     fn set_bits(&mut self, mask: Self) {
-        *self = self.clone() | mask;
+        *self = *self | mask;
     }
     // Clear masked bits.
     fn clear_bits(&mut self, mask: Self) {
-        *self = self.clone() & (!mask);
+        *self = *self & (!mask);
     }
 }
 impl RegisterValue for u8 {}
@@ -165,7 +165,7 @@ where
 
     fn read(&self, addr: RegisterOffset, data: &mut [u8]) {
         let val_range = self.range();
-        read_reg_helper(self.spec.value.clone(), val_range, addr, data);
+        read_reg_helper(self.spec.value, val_range, addr, data);
     }
 }
 
@@ -236,7 +236,7 @@ impl<T: RegisterValue> RegisterInterface for Register<T> {
 
     fn read(&self, addr: RegisterOffset, data: &mut [u8]) {
         let val_range = self.range();
-        let value = self.lock().value.clone();
+        let value = self.lock().value;
         read_reg_helper(value, val_range, addr, data);
     }
 
@@ -258,7 +258,7 @@ impl<T: RegisterValue> RegisterInterface for Register<T> {
         let write_start_idx = (overlap.from - write_range.from) as usize;
         let total_size = (overlap.to - overlap.from) as usize + 1;
 
-        let mut reg_value: T = self.lock().value.clone();
+        let mut reg_value: T = self.lock().value;
         {
             let value: &mut [u8] = reg_value.as_mut_slice();
             for i in 0..total_size {
@@ -300,14 +300,14 @@ impl<T: RegisterValue> RegisterInterface for Register<T> {
 
     fn reset(&self) {
         let mut locked = self.lock();
-        locked.value = locked.spec.reset_value.clone();
+        locked.value = locked.spec.reset_value;
     }
 }
 
 impl<T: RegisterValue> Register<T> {
     /// Get current value of this register.
     pub fn get_value(&self) -> T {
-        self.lock().value.clone()
+        self.lock().value
     }
 
     /// This function apply "write 1 to clear mask" and "guest writeable mask".
@@ -316,8 +316,8 @@ impl<T: RegisterValue> Register<T> {
     pub fn apply_write_masks_to_byte(&self, old_byte: u8, write_byte: u8, offset: usize) -> u8 {
         let locked = self.lock();
         let spec = &locked.spec;
-        let guest_write_1_to_clear_mask: u64 = spec.guest_write_1_to_clear_mask.clone().into();
-        let guest_writeable_mask: u64 = spec.guest_writeable_mask.clone().into();
+        let guest_write_1_to_clear_mask: u64 = spec.guest_write_1_to_clear_mask.into();
+        let guest_writeable_mask: u64 = spec.guest_writeable_mask.into();
         // Mask with w1c mask.
         let w1c_mask = (guest_write_1_to_clear_mask >> (offset * 8)) as u8;
         let val = (!w1c_mask & write_byte) | (w1c_mask & old_byte & !write_byte);
diff --git a/devices/src/usb/xhci/device_slot.rs b/devices/src/usb/xhci/device_slot.rs
index 129c849..5f82d4a 100644
--- a/devices/src/usb/xhci/device_slot.rs
+++ b/devices/src/usb/xhci/device_slot.rs
@@ -743,7 +743,7 @@ impl DeviceSlot {
                     .checked_add(
                         (device_context_index as u64 + 1) * DEVICE_CONTEXT_ENTRY_SIZE as u64,
                     )
-                    .ok_or(Error::BadInputContextAddr(input_context_ptr.clone()))?,
+                    .ok_or(Error::BadInputContextAddr(input_context_ptr))?,
             )
             .map_err(Error::ReadGuestMemory)?;
         usb_debug!("context being copied {:?}", ctx);
@@ -753,7 +753,7 @@ impl DeviceSlot {
                 ctx,
                 device_context_ptr
                     .checked_add(device_context_index as u64 * DEVICE_CONTEXT_ENTRY_SIZE as u64)
-                    .ok_or(Error::BadDeviceContextAddr(device_context_ptr.clone()))?,
+                    .ok_or(Error::BadDeviceContextAddr(device_context_ptr))?,
             )
             .map_err(Error::WriteGuestMemory)
     }
diff --git a/devices/src/usb/xhci/event_ring.rs b/devices/src/usb/xhci/event_ring.rs
index b2c51d1..0b35ef7 100644
--- a/devices/src/usb/xhci/event_ring.rs
+++ b/devices/src/usb/xhci/event_ring.rs
@@ -98,7 +98,7 @@ impl EventRing {
             let address = self.enqueue_pointer;
             let address = address
                 .checked_add(CYCLE_STATE_OFFSET as u64)
-                .ok_or(Error::BadEnqueuePointer(self.enqueue_pointer.clone()))?;
+                .ok_or(Error::BadEnqueuePointer(self.enqueue_pointer))?;
             self.mem
                 .write_all_at_addr(cycle_bit_dword, address)
                 .map_err(Error::MemoryWrite)?;
@@ -112,7 +112,7 @@ impl EventRing {
         );
         self.enqueue_pointer = match self.enqueue_pointer.checked_add(size_of::<Trb>() as u64) {
             Some(addr) => addr,
-            None => return Err(Error::BadEnqueuePointer(self.enqueue_pointer.clone())),
+            None => return Err(Error::BadEnqueuePointer(self.enqueue_pointer)),
         };
         self.trb_count -= 1;
         if self.trb_count == 0 {
@@ -214,9 +214,7 @@ impl EventRing {
         }
         self.segment_table_base_address
             .checked_add(((size_of::<EventRingSegmentTableEntry>() as u16) * index) as u64)
-            .ok_or(Error::BadSegTableAddress(
-                self.segment_table_base_address.clone(),
-            ))
+            .ok_or(Error::BadSegTableAddress(self.segment_table_base_address))
     }
 }
 
diff --git a/devices/src/usb/xhci/ring_buffer.rs b/devices/src/usb/xhci/ring_buffer.rs
index 1eee3e2..2f66fa8 100644
--- a/devices/src/usb/xhci/ring_buffer.rs
+++ b/devices/src/usb/xhci/ring_buffer.rs
@@ -84,7 +84,7 @@ impl RingBuffer {
             self.dequeue_pointer = match self.dequeue_pointer.checked_add(size_of::<Trb>() as u64) {
                 Some(addr) => addr,
                 None => {
-                    return Err(Error::BadDequeuePointer(self.dequeue_pointer.clone()));
+                    return Err(Error::BadDequeuePointer(self.dequeue_pointer));
                 }
             };
 
diff --git a/net_util/src/lib.rs b/net_util/src/lib.rs
index 0a903fc..591fa99 100644
--- a/net_util/src/lib.rs
+++ b/net_util/src/lib.rs
@@ -183,8 +183,8 @@ impl Tap {
 
         Ok(Tap {
             tap_file,
-            if_name: ifreq.ifr_ifrn.ifrn_name.as_ref().clone(),
-            if_flags: ifreq.ifr_ifru.ifru_flags.as_ref().clone(),
+            if_name: *ifreq.ifr_ifrn.ifrn_name.as_ref(),
+            if_flags: *ifreq.ifr_ifru.ifru_flags.as_ref(),
         })
     }
 }
diff --git a/usb_util/src/usb_transfer.rs b/usb_util/src/usb_transfer.rs
index 4dfe3e5..e08bc92 100644
--- a/usb_util/src/usb_transfer.rs
+++ b/usb_util/src/usb_transfer.rs
@@ -75,7 +75,7 @@ impl ControlTransferBuffer {
 
     /// Set request setup for this control buffer.
     pub fn set_request_setup(&mut self, request_setup: &UsbRequestSetup) {
-        self.setup_buffer = request_setup.clone();
+        self.setup_buffer = *request_setup;
     }
 }