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 /src/linux.rs | |
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 'src/linux.rs')
-rw-r--r-- | src/linux.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/linux.rs b/src/linux.rs index 4674241..7960dc1 100644 --- a/src/linux.rs +++ b/src/linux.rs @@ -4,7 +4,7 @@ use std; use std::cmp::min; -use std::error; +use std::error::Error as StdError; use std::ffi::CStr; use std::fmt::{self, Display}; use std::fs::{File, OpenOptions}; @@ -92,7 +92,7 @@ pub enum Error { InvalidFdPath, InvalidWaylandPath, IoJail(io_jail::Error), - LoadKernel(Box<error::Error>), + LoadKernel(Box<dyn StdError>), NetDeviceNew(virtio::NetError), OpenAndroidFstab(PathBuf, io::Error), OpenInitrd(PathBuf, io::Error), @@ -302,14 +302,14 @@ fn create_block_device( // Access as a raw block device. let dev = virtio::Block::new(raw_image, disk.read_only, Some(disk_device_socket)) .map_err(Error::BlockDeviceNew)?; - Box::new(dev) as Box<VirtioDevice> + Box::new(dev) as Box<dyn VirtioDevice> } ImageType::Qcow2 => { // Valid qcow header present let qcow_image = QcowFile::from(raw_image).map_err(Error::QcowDeviceCreate)?; let dev = virtio::Block::new(qcow_image, disk.read_only, Some(disk_device_socket)) .map_err(Error::BlockDeviceNew)?; - Box::new(dev) as Box<VirtioDevice> + Box::new(dev) as Box<dyn VirtioDevice> } }; @@ -484,11 +484,11 @@ fn create_net_device( let dev = virtio::vhost::Net::<Tap, vhost::Net<Tap>>::new(host_ip, netmask, mac_address, mem) .map_err(Error::VhostNetDeviceNew)?; - Box::new(dev) as Box<VirtioDevice> + Box::new(dev) as Box<dyn VirtioDevice> } else { let dev = virtio::Net::<Tap>::new(host_ip, netmask, mac_address).map_err(Error::NetDeviceNew)?; - Box::new(dev) as Box<VirtioDevice> + Box::new(dev) as Box<dyn VirtioDevice> }; let policy = if cfg.vhost_net { @@ -768,7 +768,7 @@ fn create_devices( balloon_device_socket: UnixSeqpacket, disk_device_sockets: &mut Vec<UnixSeqpacket>, usb_provider: HostBackendDeviceProvider, -) -> DeviceResult<Vec<(Box<PciDevice>, Option<Minijail>)>> { +) -> DeviceResult<Vec<(Box<dyn PciDevice>, Option<Minijail>)>> { let stubs = create_virtio_devices( &cfg, mem, @@ -782,7 +782,7 @@ fn create_devices( for stub in stubs { let dev = VirtioPciDevice::new(mem.clone(), stub.dev).map_err(Error::VirtioPciDev)?; - let dev = Box::new(dev) as Box<PciDevice>; + let dev = Box::new(dev) as Box<dyn PciDevice>; pci_devices.push((dev, stub.jail)); } |