[INFO] cloning repository https://github.com/emarcotte/fwatch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/emarcotte/fwatch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femarcotte%2Ffwatch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femarcotte%2Ffwatch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a090fb4ae8d1c62f804564101e116b46b446ec10
[INFO] checking emarcotte/fwatch against try#2cbf9c3ff35600794d69a7dc7ab399810a067910 for pr-129249-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femarcotte%2Ffwatch" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/emarcotte/fwatch
[INFO] finished tweaking git repo https://github.com/emarcotte/fwatch
[INFO] tweaked toml for git repo https://github.com/emarcotte/fwatch written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/emarcotte/fwatch on toolchain 2cbf9c3ff35600794d69a7dc7ab399810a067910
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2cbf9c3ff35600794d69a7dc7ab399810a067910" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/emarcotte/fwatch already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2cbf9c3ff35600794d69a7dc7ab399810a067910" "fetch" "--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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3
[INFO] running `Command { std: "docker" "start" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3" "/opt/rustwide/cargo-home/bin/cargo" "+2cbf9c3ff35600794d69a7dc7ab399810a067910" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3" "/opt/rustwide/cargo-home/bin/cargo" "+2cbf9c3ff35600794d69a7dc7ab399810a067910" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]     Checking spin v0.5.0
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling autocfg v0.1.4
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]     Checking futures v0.1.28
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking smallvec v0.6.10
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking owning_ref v0.4.0
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]     Checking crossbeam-utils v0.6.5
[INFO] [stderr]    Compiling regex v1.1.7
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking utf8-ranges v1.0.3
[INFO] [stderr]    Compiling nix v0.13.1
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]    Compiling winapi v0.3.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]     Checking regex-syntax v0.6.7
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]     Checking same-file v1.0.4
[INFO] [stderr]     Checking crossbeam-channel v0.3.8
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_chacha v0.2.0
[INFO] [stderr]     Checking walkdir v2.2.8
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking remove_dir_all v0.5.2
[INFO] [stderr]     Checking aho-corasick v0.7.3
[INFO] [stderr]     Checking bstr v0.2.1
[INFO] [stderr]     Checking crossbeam-epoch v0.7.1
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking num_cpus v1.10.1
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking getrandom v0.1.6
[INFO] [stderr]     Checking inotify-sys v0.1.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking termion v1.5.3
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking shared_child v0.3.3
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking rand_core v0.5.0
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking rand v0.7.0
[INFO] [stderr]     Checking tokio-executor v0.1.8
[INFO] [stderr]     Checking tokio-io v0.1.12
[INFO] [stderr]     Checking tokio-sync v0.1.6
[INFO] [stderr]     Checking tokio-timer v0.2.11
[INFO] [stderr]     Checking tokio-current-thread v0.1.6
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking tokio-threadpool v0.1.15
[INFO] [stderr]     Checking parking_lot v0.7.1
[INFO] [stderr]     Checking tokio-reactor v0.1.9
[INFO] [stderr]     Checking tokio-fs v0.1.6
[INFO] [stderr]     Checking tokio-udp v0.1.3
[INFO] [stderr]     Checking tokio-uds v0.2.5
[INFO] [stderr]     Checking tokio-tcp v0.1.3
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking inotify v0.7.0
[INFO] [stderr]     Checking os_pipe v0.8.1
[INFO] [stderr]     Checking globset v0.4.4
[INFO] [stderr]     Checking ignore v0.4.7
[INFO] [stderr]     Checking fwatch v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/pl.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn main() -> Result<(), Box<Error>> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/fwatch.rs:61:80
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn use_pager(&mut self, should_page: bool) -> Result<&mut Runtime, Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn use_pager(&mut self, should_page: bool) -> Result<&mut Runtime, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:138:44
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn run(mut self) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn run(mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:235:48
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn watch_directories(&mut self, path: &AsRef<Path>) -> Result<(), String> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn watch_directories(&mut self, path: &dyn AsRef<Path>) -> Result<(), String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:274:38
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn get_command(&mut self, next: &AsRef<Path>, output: Option<PipeWriter>) -> Result<Command, String> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn get_command(&mut self, next: &dyn AsRef<Path>, output: Option<PipeWriter>) -> Result<Command, String> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:290:32
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn start(&mut self, next: &AsRef<Path>, output: Option<PipeWriter>) -> Result<Arc<SharedChild>, String> {
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn start(&mut self, next: &dyn AsRef<Path>, output: Option<PipeWriter>) -> Result<Arc<SharedChild>, String> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pager2.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new() -> Result<Pager2, Box<Error>> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new() -> Result<Pager2, Box<dyn Error>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:323:45
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn command_spawning() -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 323 |     fn command_spawning() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:335:46
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn watch_directories() -> Result<(), Box<Error>> {
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn watch_directories() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/main.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/fwatch.rs:61:80
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn use_pager(&mut self, should_page: bool) -> Result<&mut Runtime, Box<Error>> {
[INFO] [stdout]    |                                                                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn use_pager(&mut self, should_page: bool) -> Result<&mut Runtime, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:138:44
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn run(mut self) -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn run(mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:235:48
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn watch_directories(&mut self, path: &AsRef<Path>) -> Result<(), String> {
[INFO] [stdout]     |                                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn watch_directories(&mut self, path: &dyn AsRef<Path>) -> Result<(), String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:274:38
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn get_command(&mut self, next: &AsRef<Path>, output: Option<PipeWriter>) -> Result<Command, String> {
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn get_command(&mut self, next: &dyn AsRef<Path>, output: Option<PipeWriter>) -> Result<Command, String> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/fwatch.rs:290:32
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn start(&mut self, next: &AsRef<Path>, output: Option<PipeWriter>) -> Result<Arc<SharedChild>, String> {
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 290 |     fn start(&mut self, next: &dyn AsRef<Path>, output: Option<PipeWriter>) -> Result<Arc<SharedChild>, String> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pager2.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new() -> Result<Pager2, Box<Error>> {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new() -> Result<Pager2, Box<dyn Error>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/pl.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn main() -> Result<(), Box<Error>> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/fwatch.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{ BufRead, BufReader, Read };
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/fwatch.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{ BufRead, BufReader, Read };
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pager_event`
[INFO] [stdout]    --> src/fwatch.rs:166:36
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     Ok(Either::B(((pager_event, _pager_stream), _))) => {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pager_event`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pager_event`
[INFO] [stdout]    --> src/fwatch.rs:166:36
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     Ok(Either::B(((pager_event, _pager_stream), _))) => {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pager_event`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thread_pool` is never read
[INFO] [stdout]   --> src/fwatch.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Runtime {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     thread_pool: ThreadPool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pager` is never constructed
[INFO] [stdout]  --> src/pager.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Pager {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, and `stop` are never used
[INFO] [stdout]   --> src/pager.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Pager {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Pager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn start(&mut self) -> Result<PipeWriter, String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SearchPrompt` and `CommandPrompt` are never constructed
[INFO] [stdout]   --> src/pager2.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum InputState {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout]  9 |     SearchPrompt(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     CommandPrompt(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thread_pool` is never read
[INFO] [stdout]   --> src/fwatch.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Runtime {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     thread_pool: ThreadPool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pager` is never constructed
[INFO] [stdout]  --> src/pager.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Pager {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, and `stop` are never used
[INFO] [stdout]   --> src/pager.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Pager {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Pager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn start(&mut self) -> Result<PipeWriter, String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SearchPrompt` and `CommandPrompt` are never constructed
[INFO] [stdout]   --> src/pager2.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum InputState {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout]  9 |     SearchPrompt(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 10 |     CommandPrompt(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             runtime.use_pager(matches.is_present("pager"));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let _ = runtime.use_pager(matches.is_present("pager"));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             runtime.use_pager(matches.is_present("pager"));
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let _ = runtime.use_pager(matches.is_present("pager"));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.57s
[INFO] running `Command { std: "docker" "inspect" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3", kill_on_drop: false }`
[INFO] [stdout] c7e13c5037ff05340b645ce25cc0ebc63d42c14d5e2d37b196635ac14f750cb3
