[INFO] cloning repository https://github.com/xuliker/crosvm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xuliker/crosvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxuliker%2Fcrosvm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxuliker%2Fcrosvm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fc44d8059b2333b7f49c1a11012eb6ca7d2250a5 [INFO] checking xuliker/crosvm against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxuliker%2Fcrosvm" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/xuliker/crosvm on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/xuliker/crosvm [INFO] finished tweaking git repo https://github.com/xuliker/crosvm [INFO] tweaked toml for git repo https://github.com/xuliker/crosvm written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/xuliker/crosvm already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 460b7655218401187260ebabdc4467a97a85713ac5206fd85bac840d40631775 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "460b7655218401187260ebabdc4467a97a85713ac5206fd85bac840d40631775", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "460b7655218401187260ebabdc4467a97a85713ac5206fd85bac840d40631775", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "460b7655218401187260ebabdc4467a97a85713ac5206fd85bac840d40631775", kill_on_drop: false }` [INFO] [stdout] 460b7655218401187260ebabdc4467a97a85713ac5206fd85bac840d40631775 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2c5a197c65270615d69e23490290615b668a163c94b5b1626d5715a01b9d61ce [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2c5a197c65270615d69e23490290615b668a163c94b5b1626d5715a01b9d61ce", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.34 [INFO] [stderr] Checking data_model v0.1.0 (/opt/rustwide/workdir/data_model) [INFO] [stderr] Checking syscall_defines v0.1.0 (/opt/rustwide/workdir/syscall_defines) [INFO] [stderr] Compiling sys_util v0.1.0 (/opt/rustwide/workdir/sys_util) [INFO] [stderr] Checking io_jail v0.1.0 (/opt/rustwide/workdir/io_jail) [INFO] [stderr] Checking qcow v0.1.0 (/opt/rustwide/workdir/qcow) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/mmap.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn from_fd(fd: &AsRawFd, size: usize) -> Result { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn AsRawFd` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/mmap.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn from_fd_offset(fd: &AsRawFd, size: usize, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn AsRawFd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:84:48 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn poll(&mut self, pollables: &[(u32, &Pollable)]) -> Result<&[u32]> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | pollables: &[(u32, &Pollable)], [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:153:35 [INFO] [stdout] | [INFO] [stdout] 153 | let pollables: Vec<(u32, &Pollable)> = vec![(1, &evt1), (2, &evt2)]; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:166:35 [INFO] [stdout] | [INFO] [stdout] 166 | let pollables: Vec<(u32, &Pollable)> = vec![(1, &evt1), (2, &evt2)]; [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `count_dir_entries` [INFO] [stdout] --> io_jail/src/lib.rs:491:4 [INFO] [stdout] | [INFO] [stdout] 491 | fn count_dir_entries>(path: P) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_single_threaded` [INFO] [stdout] --> io_jail/src/lib.rs:496:4 [INFO] [stdout] | [INFO] [stdout] 496 | fn is_single_threaded() -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> sys_util/src/syslog.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | use std::sync::{Mutex, MutexGuard, Once, ONCE_INIT}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> sys_util/src/syslog.rs:201:27 [INFO] [stdout] | [INFO] [stdout] 201 | static STATE_ONCE: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/mmap.rs:83:25 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn from_fd(fd: &AsRawFd, size: usize) -> Result { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn AsRawFd` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/mmap.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn from_fd_offset(fd: &AsRawFd, size: usize, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^ help: use `dyn`: `dyn AsRawFd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:84:48 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn poll(&mut self, pollables: &[(u32, &Pollable)]) -> Result<&[u32]> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> sys_util/src/poll.rs:97:45 [INFO] [stdout] | [INFO] [stdout] 97 | pollables: &[(u32, &Pollable)], [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> sys_util/src/syslog.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | use std::sync::{Mutex, MutexGuard, Once, ONCE_INIT}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> sys_util/src/syslog.rs:201:27 [INFO] [stdout] | [INFO] [stdout] 201 | static STATE_ONCE: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> sys_util/src/guest_memory.rs:183:31 [INFO] [stdout] | [INFO] [stdout] 183 | ... mut buf: &mut [u8], [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking kvm_sys v0.1.0 (/opt/rustwide/workdir/kvm_sys) [INFO] [stderr] Checking net_sys v0.1.0 (/opt/rustwide/workdir/net_sys) [INFO] [stderr] Checking virtio_sys v0.1.0 (/opt/rustwide/workdir/virtio_sys) [INFO] [stderr] Checking kernel_loader v0.1.0 (/opt/rustwide/workdir/kernel_loader) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> qcow/src/qcow.rs:683:14 [INFO] [stdout] | [INFO] [stdout] 683 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> sys_util/src/guest_memory.rs:183:31 [INFO] [stdout] | [INFO] [stdout] 183 | ... mut buf: &mut [u8], [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking net_util v0.1.0 (/opt/rustwide/workdir/net_util) [INFO] [stderr] Checking kvm v0.1.0 (/opt/rustwide/workdir/kvm) [INFO] [stderr] Checking vhost v0.1.0 (/opt/rustwide/workdir/vhost) [INFO] [stdout] warning: the item `size_of` is imported redundantly [INFO] [stdout] --> kvm/src/lib.rs:857:13 [INFO] [stdout] | [INFO] [stdout] 17 | use std::mem::size_of; [INFO] [stdout] | ----------------- the item `size_of` is already imported here [INFO] [stdout] ... [INFO] [stdout] 857 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `size_of` is imported redundantly [INFO] [stdout] --> kvm/src/lib.rs:857:13 [INFO] [stdout] | [INFO] [stdout] 17 | use std::mem::size_of; [INFO] [stdout] | ----------------- the item `size_of` is already imported here [INFO] [stdout] ... [INFO] [stdout] 857 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking vm_control v0.1.0 (/opt/rustwide/workdir/vm_control) [INFO] [stderr] Checking x86_64 v0.1.0 (/opt/rustwide/workdir/x86_64) [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/gdt.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / ((((base as u64) & 0xff000000u64) << (56 - 24)) | (((flags as u64) & 0x0000f0ffu64) << 40) | [INFO] [stdout] 12 | | (((limit as u64) & 0x000f0000u64) << (48 - 16)) | [INFO] [stdout] 13 | | (((base as u64) & 0x00ffffffu64) << 16) | (((limit as u64) & 0x0000ffffu64))) [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 11 | (((base as u64) & 0xff000000u64) << (56 - 24)) | (((flags as u64) & 0x0000f0ffu64) << 40) | [INFO] [stdout] 12 | (((limit as u64) & 0x000f0000u64) << (48 - 16)) | [INFO] [stdout] 13 | (((base as u64) & 0x00ffffffu64) << 16) | (((limit as u64) & 0x0000ffffu64)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/gdt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / ((((entry) & 0xFF00000000000000) >> 32) | (((entry) & 0x000000FF00000000) >> 16) | [INFO] [stdout] 18 | | (((entry) & 0x00000000FFFF0000) >> 16)) [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 | (((entry) & 0xFF00000000000000) >> 32) | (((entry) & 0x000000FF00000000) >> 16) | [INFO] [stdout] 18 | (((entry) & 0x00000000FFFF0000) >> 16) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/interrupts.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | (((reg) & !0x700) | ((mode) << 8)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> x86_64/src/lib.rs:93:35 [INFO] [stdout] | [INFO] [stdout] 93 | const MEM_32BIT_GAP_SIZE: usize = (768 << 20); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> x86_64/src/lib.rs:94:39 [INFO] [stdout] | [INFO] [stdout] 94 | const FIRST_ADDR_PAST_32BITS: usize = (1 << 32); [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/gdt.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / ((((base as u64) & 0xff000000u64) << (56 - 24)) | (((flags as u64) & 0x0000f0ffu64) << 40) | [INFO] [stdout] 12 | | (((limit as u64) & 0x000f0000u64) << (48 - 16)) | [INFO] [stdout] 13 | | (((base as u64) & 0x00ffffffu64) << 16) | (((limit as u64) & 0x0000ffffu64))) [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 11 | (((base as u64) & 0xff000000u64) << (56 - 24)) | (((flags as u64) & 0x0000f0ffu64) << 40) | [INFO] [stdout] 12 | (((limit as u64) & 0x000f0000u64) << (48 - 16)) | [INFO] [stdout] 13 | (((base as u64) & 0x00ffffffu64) << 16) | (((limit as u64) & 0x0000ffffu64)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/gdt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / ((((entry) & 0xFF00000000000000) >> 32) | (((entry) & 0x000000FF00000000) >> 16) | [INFO] [stdout] 18 | | (((entry) & 0x00000000FFFF0000) >> 16)) [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 17 | (((entry) & 0xFF00000000000000) >> 32) | (((entry) & 0x000000FF00000000) >> 16) | [INFO] [stdout] 18 | (((entry) & 0x00000000FFFF0000) >> 16) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> x86_64/src/interrupts.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | (((reg) & !0x700) | ((mode) << 8)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> x86_64/src/lib.rs:93:35 [INFO] [stdout] | [INFO] [stdout] 93 | const MEM_32BIT_GAP_SIZE: usize = (768 << 20); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> x86_64/src/lib.rs:94:39 [INFO] [stdout] | [INFO] [stdout] 94 | const FIRST_ADDR_PAST_32BITS: usize = (1 << 32); [INFO] [stdout] | ^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking devices v0.1.0 (/opt/rustwide/workdir/devices) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:61:43 [INFO] [stdout] | [INFO] [stdout] 61 | devices: BTreeMap>>, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:70:67 [INFO] [stdout] | [INFO] [stdout] 70 | fn first_before(&self, addr: u64) -> Option<(BusRange, &Mutex)> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:80:60 [INFO] [stdout] | [INFO] [stdout] 80 | fn get_device(&self, addr: u64) -> Option<(u64, &Mutex)> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:91:48 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn insert(&mut self, device: Arc>, base: u64, len: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/proxy.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | fn child_proc(sock: UnixDatagram, device: &mut BusDevice) { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | out: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:66:52 [INFO] [stdout] | [INFO] [stdout] 66 | fn new(interrupt_evt: EventFd, out: Option>) -> Serial { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:83:53 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn new_out(interrupt_evt: EventFd, out: Box) -> Serial { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> devices/src/virtio/balloon.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | 'addr_loop: for i in 0..num_addrs as usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/balloon.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 | (POLL_COMMAND_SOCKET, &self.command_socket as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | device: Box, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:109:46 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn new(mem: GuestMemory, device: Box) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | 0x00...0xff if data.len() == 4 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:204:18 [INFO] [stdout] | [INFO] [stdout] 204 | 0x100...0xfff => self.device.read_config(offset - 0x100, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | 0x00...0xff if data.len() == 4 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:249:18 [INFO] [stdout] | [INFO] [stdout] 249 | 0x100...0xfff => return self.device.write_config(offset - 0x100, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:229:69 [INFO] [stdout] | [INFO] [stdout] 229 | let tokens = match poller.poll(&[(RX_TAP, &self.tap as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:230:75 [INFO] [stdout] | [INFO] [stdout] 230 | ... (RX_QUEUE, &rx_queue_evt as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:231:75 [INFO] [stdout] | [INFO] [stdout] 231 | ... (TX_QUEUE, &tx_queue_evt as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:232:67 [INFO] [stdout] | [INFO] [stdout] 232 | ... (KILL, &kill_evt as &Pollable)]) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:816:57 [INFO] [stdout] | [INFO] [stdout] 816 | pollables.push((Q_IN, &in_queue_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:817:59 [INFO] [stdout] | [INFO] [stdout] 817 | pollables.push((Q_OUT, &out_queue_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:818:53 [INFO] [stdout] | [INFO] [stdout] 818 | pollables.push((KILL, &kill_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:61:43 [INFO] [stdout] | [INFO] [stdout] 61 | devices: BTreeMap>>, [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:70:67 [INFO] [stdout] | [INFO] [stdout] 70 | fn first_before(&self, addr: u64) -> Option<(BusRange, &Mutex)> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:80:60 [INFO] [stdout] | [INFO] [stdout] 80 | fn get_device(&self, addr: u64) -> Option<(u64, &Mutex)> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/bus.rs:91:48 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn insert(&mut self, device: Arc>, base: u64, len: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/proxy.rs:46:48 [INFO] [stdout] | [INFO] [stdout] 46 | fn child_proc(sock: UnixDatagram, device: &mut BusDevice) { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn BusDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | out: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:66:52 [INFO] [stdout] | [INFO] [stdout] 66 | fn new(interrupt_evt: EventFd, out: Option>) -> Serial { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/serial.rs:83:53 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn new_out(interrupt_evt: EventFd, out: Box) -> Serial { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn io::Write + Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> devices/src/virtio/balloon.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | 'addr_loop: for i in 0..num_addrs as usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/balloon.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 | (POLL_COMMAND_SOCKET, &self.command_socket as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | device: Box, [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:109:46 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn new(mem: GuestMemory, device: Box) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | 0x00...0xff if data.len() == 4 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:204:18 [INFO] [stdout] | [INFO] [stdout] 204 | 0x100...0xfff => self.device.read_config(offset - 0x100, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | 0x00...0xff if data.len() == 4 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> devices/src/virtio/mmio.rs:249:18 [INFO] [stdout] | [INFO] [stdout] 249 | 0x100...0xfff => return self.device.write_config(offset - 0x100, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:229:69 [INFO] [stdout] | [INFO] [stdout] 229 | let tokens = match poller.poll(&[(RX_TAP, &self.tap as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:230:75 [INFO] [stdout] | [INFO] [stdout] 230 | ... (RX_QUEUE, &rx_queue_evt as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:231:75 [INFO] [stdout] | [INFO] [stdout] 231 | ... (TX_QUEUE, &tx_queue_evt as &Pollable), [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/net.rs:232:67 [INFO] [stdout] | [INFO] [stdout] 232 | ... (KILL, &kill_evt as &Pollable)]) { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:816:57 [INFO] [stdout] | [INFO] [stdout] 816 | pollables.push((Q_IN, &in_queue_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:817:59 [INFO] [stdout] | [INFO] [stdout] 817 | pollables.push((Q_OUT, &out_queue_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> devices/src/virtio/wl.rs:818:53 [INFO] [stdout] | [INFO] [stdout] 818 | pollables.push((KILL, &kill_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking crosvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/kernel_cmdline.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | ' '...'~' => true, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/device_manager.rs:89:38 [INFO] [stdout] | [INFO] [stdout] 89 | device: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/kernel_cmdline.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | ' '...'~' => true, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/device_manager.rs:89:38 [INFO] [stdout] | [INFO] [stdout] 89 | device: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:304:28 [INFO] [stdout] | [INFO] [stdout] 304 | let block_box: Box = match disk.disk_type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:354:30 [INFO] [stdout] | [INFO] [stdout] 354 | let net_box: Box = if cfg.vhost_net { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:595:41 [INFO] [stdout] | [INFO] [stdout] 595 | pollables.push((EXIT, &exit_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:596:44 [INFO] [stdout] | [INFO] [stdout] 596 | pollables.push((STDIN, &stdin_lock as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:597:51 [INFO] [stdout] | [INFO] [stdout] 597 | pollables.push((CHILD_SIGNAL, &sigchld_fd as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:599:65 [INFO] [stdout] | [INFO] [stdout] 599 | pollables.push((VM_BASE + i as u32, socket.as_ref() as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:304:28 [INFO] [stdout] | [INFO] [stdout] 304 | let block_box: Box = match disk.disk_type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:354:30 [INFO] [stdout] | [INFO] [stdout] 354 | let net_box: Box = if cfg.vhost_net { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn devices::virtio::VirtioDevice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:595:41 [INFO] [stdout] | [INFO] [stdout] 595 | pollables.push((EXIT, &exit_evt as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:596:44 [INFO] [stdout] | [INFO] [stdout] 596 | pollables.push((STDIN, &stdin_lock as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:597:51 [INFO] [stdout] | [INFO] [stdout] 597 | pollables.push((CHILD_SIGNAL, &sigchld_fd as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/linux.rs:599:65 [INFO] [stdout] | [INFO] [stdout] 599 | pollables.push((VM_BASE + i as u32, socket.as_ref() as &Pollable)); [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Pollable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/argument.rs:201:37 [INFO] [stdout] | [INFO] [stdout] 201 | let param = arg.trim_left_matches('-'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::str::::trim_left_matches`: superseded by `trim_start_matches` [INFO] [stdout] --> src/argument.rs:201:37 [INFO] [stdout] | [INFO] [stdout] 201 | let param = arg.trim_left_matches('-'); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/linux.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | let mut raw_image = OpenOptions::new() [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/linux.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | let mut raw_image = OpenOptions::new() [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.66s [INFO] running `Command { std: "docker" "inspect" "2c5a197c65270615d69e23490290615b668a163c94b5b1626d5715a01b9d61ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c5a197c65270615d69e23490290615b668a163c94b5b1626d5715a01b9d61ce", kill_on_drop: false }` [INFO] [stdout] 2c5a197c65270615d69e23490290615b668a163c94b5b1626d5715a01b9d61ce