diff options
author | David Tolnay <dtolnay@chromium.org> | 2019-03-08 16:56:14 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-04-08 02:51:37 -0700 |
commit | fdac5ede468e0fddfe527d6108430ee932b02fc3 (patch) | |
tree | 398c2ace79eea2babb4439810c43b793068fd8cc /usb_util | |
parent | 98895ac05d42ed346a161035134600b0d0e0bb87 (diff) | |
download | crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar.gz crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar.bz2 crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar.lz crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar.xz crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.tar.zst crosvm-fdac5ede468e0fddfe527d6108430ee932b02fc3.zip |
edition: Use dyn syntax for trait objects
Found by running: `cargo rustc -- -D bare_trait_objects` Bare trait objects like `&Trait` and `Box<Trait>` are soft-deprecated in 2018 edition and will start warning at some point. As part of this, I replaced `Box<Trait + 'static>` with `Box<dyn Trait>` because the 'static bound is implied for boxed trait objects. TEST=cargo check --all-features TEST=cargo check --target aarch64-unknown-linux-gnu TEST=local kokoro Change-Id: I41c4f13530bece8a34a8ed1c1afd7035b8f86f19 Reviewed-on: https://chromium-review.googlesource.com/1513059 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: David Tolnay <dtolnay@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: David Tolnay <dtolnay@chromium.org>
Diffstat (limited to 'usb_util')
-rw-r--r-- | usb_util/src/hotplug.rs | 2 | ||||
-rw-r--r-- | usb_util/src/libusb_context.rs | 4 | ||||
-rw-r--r-- | usb_util/src/usb_transfer.rs | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/usb_util/src/hotplug.rs b/usb_util/src/hotplug.rs index ea78c71..d35a757 100644 --- a/usb_util/src/hotplug.rs +++ b/usb_util/src/hotplug.rs @@ -38,7 +38,7 @@ pub trait UsbHotplugHandler: Send + Sync + 'static { /// user_data to libusb_hotplug_register_callback. pub struct UsbHotplugHandlerHolder { context: Arc<LibUsbContextInner>, - handler: Box<UsbHotplugHandler>, + handler: Box<dyn UsbHotplugHandler>, } impl UsbHotplugHandlerHolder { diff --git a/usb_util/src/libusb_context.rs b/usb_util/src/libusb_context.rs index 0afaf7e..a1bab32 100644 --- a/usb_util/src/libusb_context.rs +++ b/usb_util/src/libusb_context.rs @@ -139,7 +139,7 @@ impl LibUsbContext { } /// Set a handler that could handle pollfd change events. - pub fn set_pollfd_notifiers(&self, handler: Box<LibUsbPollfdChangeHandler>) { + pub fn set_pollfd_notifiers(&self, handler: Box<dyn LibUsbPollfdChangeHandler>) { // LibUsbContext is alive when any libusb related function is called. It owns the handler, // thus the handler memory is always valid when callback is invoked. let holder = Box::new(PollfdChangeHandlerHolder { handler }); @@ -262,7 +262,7 @@ pub trait LibUsbPollfdChangeHandler: Send + Sync + 'static { // This struct owns LibUsbPollfdChangeHandler. We need it because it's not possible to cast void // pointer to trait pointer. struct PollfdChangeHandlerHolder { - handler: Box<LibUsbPollfdChangeHandler>, + handler: Box<dyn LibUsbPollfdChangeHandler>, } // This function is safe when user_data points to valid PollfdChangeHandlerHolder. diff --git a/usb_util/src/usb_transfer.rs b/usb_util/src/usb_transfer.rs index d3354ef..4dfe3e5 100644 --- a/usb_util/src/usb_transfer.rs +++ b/usb_util/src/usb_transfer.rs @@ -130,7 +130,7 @@ impl UsbTransferBuffer for BulkTransferBuffer { } } -type UsbTransferCompletionCallback<T> = Fn(UsbTransfer<T>) + Send + 'static; +type UsbTransferCompletionCallback<T> = dyn Fn(UsbTransfer<T>) + Send + 'static; // This wraps libusb_transfer pointer. struct LibUsbTransfer { |