[INFO] fetching crate cfrp 0.0.4...
[INFO] checking cfrp-0.0.4 against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] extracting crate cfrp 0.0.4 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate cfrp 0.0.4 on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cfrp 0.0.4
[INFO] finished tweaking crates.io crate cfrp 0.0.4
[INFO] tweaked toml for crates.io crate cfrp 0.0.4 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termcolor v1.4.0
[INFO] [stderr]   Downloaded powerfmt v0.2.0
[INFO] [stderr]   Downloaded hermit-abi v0.3.3
[INFO] [stderr]   Downloaded winapi-util v0.1.6
[INFO] [stderr]   Downloaded env_logger v0.10.1
[INFO] [stderr]   Downloaded is-terminal v0.4.9
[INFO] [stderr]   Downloaded time-core v0.1.2
[INFO] [stderr]   Downloaded humantime v2.1.0
[INFO] [stderr]   Downloaded deranged v0.3.10
[INFO] [stderr]   Downloaded time v0.3.31
[INFO] [stderr]   Downloaded regex v1.10.2
[INFO] [stderr]   Downloaded regex-automata v0.4.3
[INFO] [stderr]   Downloaded regex-syntax v0.8.2
[INFO] [stderr]   Downloaded aho-corasick v1.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b9b8008a317b062ee0f3b4ede83379ec1daf81e3681a01555e134d14b0ec481c
[INFO] running `Command { std: "docker" "start" "-a" "b9b8008a317b062ee0f3b4ede83379ec1daf81e3681a01555e134d14b0ec481c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b9b8008a317b062ee0f3b4ede83379ec1daf81e3681a01555e134d14b0ec481c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9b8008a317b062ee0f3b4ede83379ec1daf81e3681a01555e134d14b0ec481c", kill_on_drop: false }`
[INFO] [stdout] b9b8008a317b062ee0f3b4ede83379ec1daf81e3681a01555e134d14b0ec481c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 68e3dbd794ab5012c292d0af3f7611d6ab0a283aab2949364439d072ac5d9cc9
[INFO] running `Command { std: "docker" "start" "-a" "68e3dbd794ab5012c292d0af3f7611d6ab0a283aab2949364439d072ac5d9cc9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking time-core v0.1.2
[INFO] [stderr]     Checking deranged v0.3.10
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking time v0.3.31
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]     Checking cfrp v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout] 140 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:148:25
[INFO] [stdout]     |
[INFO] [stdout] 148 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:157:35
[INFO] [stdout]     |
[INFO] [stdout] 157 | A: 'static + Send + Clone + rand::Rand,
[INFO] [stdout]     |                                   ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:114:67
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn every(&self, interval: time::Duration) -> Branch<time::Tm>
[INFO] [stdout]     |                                                                   ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let initial = time::now();
[INFO] [stdout]     |                             ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:133:52
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     .take_while(|tm| { *tm < time::now() })
[INFO] [stdout]     |                                                    ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:136:44
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let sleep_duration = time::now() - tm.unwrap();
[INFO] [stdout]     |                                            ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:205:49
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn ack_timestamp(&self) -> Branch<time::Tm>
[INFO] [stdout]     |                                                 ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .lift(|_| -> time::Tm { time::now() })
[INFO] [stdout]     |                                ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:209:43
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .lift(|_| -> time::Tm { time::now() })
[INFO] [stdout]     |                                           ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/builder.rs:227:39
[INFO] [stdout]     |
[INFO] [stdout] 227 |     A: 'static + Send + Clone + rand::Rand,
[INFO] [stdout]     |                                       ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `StdRng` in `rand`
[INFO] [stdout]    --> src/lib.rs:326:29
[INFO] [stdout]     |
[INFO] [stdout] 326 |             let rng = rand::StdRng::new().unwrap();
[INFO] [stdout]     |                             ^^^^^^ could not find `StdRng` in `rand`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 179 +     use rand::rngs::StdRng;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `StdRng`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 326 -             let rng = rand::StdRng::new().unwrap();
[INFO] [stdout] 326 +             let rng = StdRng::new().unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]   --> src/primitives/input.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |            ^^^^^^^^ help: remove `mut` from the parameter: `self`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout]    = note: `#[deny(patterns_in_fns_without_body)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/primitives/input.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |                                 ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/primitives/input.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Mutex<Vec<Box<NoOp>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/lib.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<Push<A>>>);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Box<Push<A>>>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/lib.rs:138:24
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn push(&mut self, Event<A>);
[INFO] [stdout]     |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Event<A>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]    --> src/lib.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn run(mut self: Box<Self>);
[INFO] [stdout]     |            ^^^^^^^^ help: remove `mut` from the parameter: `self`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/builder.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 thread::sleep_ms(sleep_duration.num_milliseconds() as u32);
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/lib.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 |                         thread::sleep_ms(100);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/primitives/async.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parent: Box<Signal<A>>,
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/primitives/fold.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     child: Option<Box<Push<B>>>,
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     child: Option<Box<dyn Push<B>>>,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fork.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |     child: Option<Box<Push<B>>>,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     child: Option<Box<dyn Push<B>>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift2.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     left: Box<Signal<A>>,
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     left: Box<dyn Signal<A>>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift2.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     right: Box<Signal<B>>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     right: Box<dyn Signal<B>>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     inputs: Vec<Box<RunInput>>,
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     inputs: Vec<Box<dyn RunInput>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     runners: Vec<Box<Run>>,
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     runners: Vec<Box<dyn Run>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |     term_txs: Vec<Box<NoOp>>,
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     term_txs: Vec<Box<dyn NoOp>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub inputs: RefCell<Vec<Box<RunInput>>>,
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub inputs: RefCell<Vec<Box<dyn RunInput>>>,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub runners: RefCell<Vec<Box<Run>>>,
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub runners: RefCell<Vec<Box<dyn Run>>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:112:27
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl<A> Signal<A> for Box<Signal<A>> where
[INFO] [stdout]     |                           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl<A> Signal<A> for Box<dyn Signal<A>> where
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:131:30
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<A> SignalExt<A> for Box<Signal<A>> where
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<A> SignalExt<A> for Box<dyn Signal<A>> where
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:109:44
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<Push<A>>>);
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<dyn Push<A>>>);
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:127:52
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/async.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(parent: Box<Signal<A>>, tx: SyncSender<A>) -> Async<A> {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(parent: Box<dyn Signal<A>>, tx: SyncSender<A>) -> Async<A> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/channel.rs:36:52
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]    |                                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(config: Config, parent: Box<Signal<A>>, initial: B, f: F) -> Self {
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(config: Config, parent: Box<dyn Signal<A>>, initial: B, f: F) -> Self {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:57:52
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push_to(self: Box<Self>, target: Option<Box<Push<B>>>) {
[INFO] [stdout]    |                                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<B>>>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fork.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(parent: Box<Signal<A>>, sink_txs: Arc<Mutex<Vec<SyncSender<Event<A>>>>>) -> Fork<A> {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(parent: Box<dyn Signal<A>>, sink_txs: Arc<Mutex<Vec<SyncSender<Event<A>>>>>) -> Fork<A> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/primitives/fork.rs:135:52
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout] 140 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:148:25
[INFO] [stdout]     |
[INFO] [stdout] 148 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:157:35
[INFO] [stdout]     |
[INFO] [stdout] 157 | A: 'static + Send + Clone + rand::Rand,
[INFO] [stdout]     |                                   ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/primitives/input.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 | A: Send + Clone + rand::Rand,
[INFO] [stdout]     |                         ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:114:67
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn every(&self, interval: time::Duration) -> Branch<time::Tm>
[INFO] [stdout]     |                                                                   ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let initial = time::now();
[INFO] [stdout]     |                             ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:133:52
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     .take_while(|tm| { *tm < time::now() })
[INFO] [stdout]     |                                                    ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors; 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:136:44
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let sleep_duration = time::now() - tm.unwrap();
[INFO] [stdout]     |                                            ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:205:49
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn ack_timestamp(&self) -> Branch<time::Tm>
[INFO] [stdout]     |                                                 ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Tm` in crate `time`
[INFO] [stdout]    --> src/builder.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .lift(|_| -> time::Tm { time::now() })
[INFO] [stdout]     |                                ^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stdout]    --> src/builder.rs:209:43
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .lift(|_| -> time::Tm { time::now() })
[INFO] [stdout]     |                                           ^^^ not found in `time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Rand` in crate `rand`
[INFO] [stdout]    --> src/builder.rs:227:39
[INFO] [stdout]     |
[INFO] [stdout] 227 |     A: 'static + Send + Clone + rand::Rand,
[INFO] [stdout]     |                                       ^^^^ not found in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]   --> src/primitives/input.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |            ^^^^^^^^ help: remove `mut` from the parameter: `self`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout]    = note: `#[deny(patterns_in_fns_without_body)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/primitives/input.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |                                 ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/primitives/input.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn run(mut self: Box<Self>, usize, Arc<Mutex<Vec<Box<NoOp>>>>);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Mutex<Vec<Box<NoOp>>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/lib.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<Push<A>>>);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<Box<Push<A>>>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/lib.rs:138:24
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn push(&mut self, Event<A>);
[INFO] [stdout]     |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Event<A>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: patterns aren't allowed in functions without bodies
[INFO] [stdout]    --> src/lib.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn run(mut self: Box<Self>);
[INFO] [stdout]     |            ^^^^^^^^ help: remove `mut` from the parameter: `self`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #35203 <https://github.com/rust-lang/rust/issues/35203>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cfrp` (lib test) due to 16 previous errors; 29 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/builder.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 thread::sleep_ms(sleep_duration.num_milliseconds() as u32);
[INFO] [stdout]     |                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/primitives/async.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parent: Box<Signal<A>>,
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/primitives/fold.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     child: Option<Box<Push<B>>>,
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     child: Option<Box<dyn Push<B>>>,
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fork.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<Signal<A>>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     parent: Box<dyn Signal<A>>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift.rs:99:23
[INFO] [stdout]    |
[INFO] [stdout] 99 |     child: Option<Box<Push<B>>>,
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     child: Option<Box<dyn Push<B>>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift2.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     left: Box<Signal<A>>,
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     left: Box<dyn Signal<A>>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/lift2.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     right: Box<Signal<B>>,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     right: Box<dyn Signal<B>>,
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     inputs: Vec<Box<RunInput>>,
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     inputs: Vec<Box<dyn RunInput>>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |     runners: Vec<Box<Run>>,
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     runners: Vec<Box<dyn Run>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/topology.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |     term_txs: Vec<Box<NoOp>>,
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     term_txs: Vec<Box<dyn NoOp>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub inputs: RefCell<Vec<Box<RunInput>>>,
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub inputs: RefCell<Vec<Box<dyn RunInput>>>,
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/builder.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub runners: RefCell<Vec<Box<Run>>>,
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub runners: RefCell<Vec<Box<dyn Run>>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:112:27
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl<A> Signal<A> for Box<Signal<A>> where
[INFO] [stdout]     |                           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl<A> Signal<A> for Box<dyn Signal<A>> where
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:131:30
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<A> SignalExt<A> for Box<Signal<A>> where
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl<A> SignalExt<A> for Box<dyn Signal<A>> where
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:109:44
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<Push<A>>>);
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn push_to(self: Box<Self>, Option<Box<dyn Push<A>>>);
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:127:52
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/async.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(parent: Box<Signal<A>>, tx: SyncSender<A>) -> Async<A> {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(parent: Box<dyn Signal<A>>, tx: SyncSender<A>) -> Async<A> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/channel.rs:36:52
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]    |                                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(config: Config, parent: Box<Signal<A>>, initial: B, f: F) -> Self {
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(config: Config, parent: Box<dyn Signal<A>>, initial: B, f: F) -> Self {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fold.rs:57:52
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push_to(self: Box<Self>, target: Option<Box<Push<B>>>) {
[INFO] [stdout]    |                                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<B>>>) {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/primitives/fork.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(parent: Box<Signal<A>>, sink_txs: Arc<Mutex<Vec<SyncSender<Event<A>>>>>) -> Fork<A> {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(parent: Box<dyn Signal<A>>, sink_txs: Arc<Mutex<Vec<SyncSender<Event<A>>>>>) -> Fork<A> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/primitives/fork.rs:135:52
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn push_to(self: Box<Self>, target: Option<Box<Push<A>>>) {
[INFO] [stdout]     |                                                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 135 |     fn push_to(self: Box<Self>, target: Option<Box<dyn Push<A>>>) {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors; 28 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cfrp` (lib) due to 15 previous errors; 28 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "68e3dbd794ab5012c292d0af3f7611d6ab0a283aab2949364439d072ac5d9cc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68e3dbd794ab5012c292d0af3f7611d6ab0a283aab2949364439d072ac5d9cc9", kill_on_drop: false }`
[INFO] [stdout] 68e3dbd794ab5012c292d0af3f7611d6ab0a283aab2949364439d072ac5d9cc9
