[INFO] fetching crate peep 0.1.4... [INFO] checking peep-0.1.4 against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] extracting crate peep 0.1.4 into /workspace/builds/worker-3/source [INFO] validating manifest of crates.io crate peep 0.1.4 on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate peep 0.1.4 [INFO] finished tweaking crates.io crate peep 0.1.4 [INFO] tweaked toml for crates.io crate peep 0.1.4 written to /workspace/builds/worker-3/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d79cc720a3142fb4721a183b75e41cebd762c1b50cc4343aeec60a55a1ac5349 [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" "d79cc720a3142fb4721a183b75e41cebd762c1b50cc4343aeec60a55a1ac5349", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d79cc720a3142fb4721a183b75e41cebd762c1b50cc4343aeec60a55a1ac5349", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d79cc720a3142fb4721a183b75e41cebd762c1b50cc4343aeec60a55a1ac5349", kill_on_drop: false }` [INFO] [stdout] d79cc720a3142fb4721a183b75e41cebd762c1b50cc4343aeec60a55a1ac5349 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b499eae8e4642db114499d4fb40ff21a6a38dd11498b0e05f9d5a8e5678d651 [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" "1b499eae8e4642db114499d4fb40ff21a6a38dd11498b0e05f9d5a8e5678d651", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking futures v0.1.30 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking regex-syntax v0.6.21 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking log v0.4.11 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking inotify-sys v0.1.4 [INFO] [stderr] Checking termion v1.5.5 [INFO] [stderr] Checking termios v0.3.3 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking regex v1.4.2 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking inotify v0.6.1 [INFO] [stderr] Checking ctrlc v3.1.7 [INFO] [stderr] Checking peep v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | istream: &'a mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [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/app.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | parser: &'a mut keybind::KeyParser, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn keybind::KeyParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:32:33 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(istream: &'a mut Read, parser: &'a mut keybind::KeyParser) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:32:55 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(istream: &'a mut Read, parser: &'a mut keybind::KeyParser) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn keybind::KeyParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsRawFd` is imported redundantly [INFO] [stdout] --> src/app.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | -------------------------- the item `AsRawFd` is already imported here [INFO] [stdout] ... [INFO] [stdout] 79 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:145:26 [INFO] [stdout] | [INFO] [stdout] 145 | searcher: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn search::Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/filewatch/mod.rs:24:73 [INFO] [stdout] | [INFO] [stdout] 24 | fn watch(&mut self, timeout: Option) -> io::Result>; [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/filewatch/mod.rs:32:73 [INFO] [stdout] | [INFO] [stdout] 32 | fn watch(&mut self, timeout: Option) -> io::Result> { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/filewatch/mod.rs:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | let filewatcher: &mut FileWatch = if file_path == "-" { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn FileWatch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/keybind.rs:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | '1'...'9' => { [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] --> src/keybind.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | '0'...'9' => { [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] --> src/pane.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | writer: Box>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn 'a + Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:43:28 [INFO] [stdout] | [INFO] [stdout] 43 | hlsearcher: Rc>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | termsize_getter: Box io::Result<(u16, u16)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<(u16, u16)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:225:14 [INFO] [stdout] | [INFO] [stdout] 225 | 0...2 => format!("{:>2}", line_number + 1), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:239:14 [INFO] [stdout] | [INFO] [stdout] 239 | 0...2 => " ".to_owned(), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:448:14 [INFO] [stdout] | [INFO] [stdout] 448 | 0...99 => 2, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:449:16 [INFO] [stdout] | [INFO] [stdout] 449 | 100...999 => 3, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | 1000...9999 => 4, [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] --> src/pane.rs:463:67 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn set_highlight_searcher(&mut self, searcher: Rc>) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | istream: &'a mut Read, [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [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/app.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | parser: &'a mut keybind::KeyParser, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn keybind::KeyParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:32:33 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(istream: &'a mut Read, parser: &'a mut keybind::KeyParser) -> Self { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:32:55 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(istream: &'a mut Read, parser: &'a mut keybind::KeyParser) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn keybind::KeyParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsRawFd` is imported redundantly [INFO] [stdout] --> src/app.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | -------------------------- the item `AsRawFd` is already imported here [INFO] [stdout] ... [INFO] [stdout] 79 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app.rs:145:26 [INFO] [stdout] | [INFO] [stdout] 145 | searcher: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn search::Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/filewatch/mod.rs:24:73 [INFO] [stdout] | [INFO] [stdout] 24 | fn watch(&mut self, timeout: Option) -> io::Result>; [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/filewatch/mod.rs:32:73 [INFO] [stdout] | [INFO] [stdout] 32 | fn watch(&mut self, timeout: Option) -> io::Result> { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/filewatch/mod.rs:44:27 [INFO] [stdout] | [INFO] [stdout] 44 | let filewatcher: &mut FileWatch = if file_path == "-" { [INFO] [stdout] | ^^^^^^^^^ help: use `dyn`: `dyn FileWatch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/keybind.rs:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | '1'...'9' => { [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] --> src/keybind.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | '0'...'9' => { [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] --> src/pane.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | writer: Box>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn 'a + Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:43:28 [INFO] [stdout] | [INFO] [stdout] 43 | hlsearcher: Rc>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | termsize_getter: Box io::Result<(u16, u16)>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<(u16, u16)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:105:55 [INFO] [stdout] | [INFO] [stdout] 105 | fn replace_termsize_getter(&mut self, getter: Box io::Result<(u16, u16)>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<(u16, u16)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:225:14 [INFO] [stdout] | [INFO] [stdout] 225 | 0...2 => format!("{:>2}", line_number + 1), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:239:14 [INFO] [stdout] | [INFO] [stdout] 239 | 0...2 => " ".to_owned(), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:448:14 [INFO] [stdout] | [INFO] [stdout] 448 | 0...99 => 2, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:449:16 [INFO] [stdout] | [INFO] [stdout] 449 | 100...999 => 3, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/pane.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | 1000...9999 => 4, [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] --> src/pane.rs:463:67 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn set_highlight_searcher(&mut self, searcher: Rc>) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Search` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/pane.rs:765:54 [INFO] [stdout] | [INFO] [stdout] 765 | fn gen_sizer(w: u16, h: u16) -> ((u16, u16), Box io::Result<(u16, u16)>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> io::Result<(u16, u16)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/app.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | let mut bufreader = BufReader::new(file); [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: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/app.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | let mut bufreader = BufReader::new(file); [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: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 28.58s [INFO] running `Command { std: "docker" "inspect" "1b499eae8e4642db114499d4fb40ff21a6a38dd11498b0e05f9d5a8e5678d651", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b499eae8e4642db114499d4fb40ff21a6a38dd11498b0e05f9d5a8e5678d651", kill_on_drop: false }` [INFO] [stdout] 1b499eae8e4642db114499d4fb40ff21a6a38dd11498b0e05f9d5a8e5678d651