[INFO] fetching crate gj 0.2.0...
[INFO] testing gj-0.2.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate gj 0.2.0 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate gj 0.2.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gj 0.2.0
[INFO] finished tweaking crates.io crate gj 0.2.0
[INFO] tweaked toml for crates.io crate gj 0.2.0 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9c07c417411b3cabb2b64ba727c2c3bbbb59b4d0b3d28022d73af1e27004963b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9c07c417411b3cabb2b64ba727c2c3bbbb59b4d0b3d28022d73af1e27004963b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c07c417411b3cabb2b64ba727c2c3bbbb59b4d0b3d28022d73af1e27004963b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c07c417411b3cabb2b64ba727c2c3bbbb59b4d0b3d28022d73af1e27004963b", kill_on_drop: false }`
[INFO] [stdout] 9c07c417411b3cabb2b64ba727c2c3bbbb59b4d0b3d28022d73af1e27004963b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] dd11bad0d5afa159def6a6cdfdb46eac4648fa06c6130b7adc485c8d5185fa86
[INFO] running `Command { std: "docker" "start" "-a" "dd11bad0d5afa159def6a6cdfdb46eac4648fa06c6130b7adc485c8d5185fa86", kill_on_drop: false }`
[INFO] [stderr]    Compiling gj v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dependency: Box<PromiseNode<DepT, E>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(dependency: Box<PromiseNode<DepT, E>>, func: Func) -> Transform<T, E, E1, DepT, Func> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Step1(Box<PromiseNode<Promise<T, E>, E>>, Option<GuardedEventHandle>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Step2(Box<PromiseNode<T, E>>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:176:31
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub fn new(mut inner: Box<PromiseNode<Promise<T, E>, E>>) -> Chain<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     Waiting(Box<PromiseNode<T, E>>, EventDropper),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:377:23
[INFO] [stdout]     |
[INFO] [stdout] 377 |     left: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |     right: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:30
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:65
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:438:17
[INFO] [stdout]     |
[INFO] [stdout] 438 |     Waiting(Box<PromiseNode<T, E>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:453:31
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn new(mut inner: Box<PromiseNode<T, E>>) -> ForkHub<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:459:73
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let event = Box::new(ForkEvent { state: state.clone() }) as Box<Event>;
[INFO] [stdout]     |                                                                         ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/mod.rs:97:34
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set(&self, event: Box<Event>) {
[INFO] [stdout]    |                                  ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:121:27
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub event: Option<Box<Event>>,
[INFO] [stdout]     |                           ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:281:28
[INFO] [stdout]     |
[INFO] [stdout] 281 |     reaper: Rc<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSetImpl<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 293 |       pub fn add(&self, mut node: Box<PromiseNode<T, E>>) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:308:35
[INFO] [stdout]     |
[INFO] [stdout] 308 |     weak_reaper: Weak<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:310:22
[INFO] [stdout]     |
[INFO] [stdout] 310 |     node: Option<Box<PromiseNode<T, E>>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     node: Box<PromiseNode<T, E>>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:204:74
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn wait<E1>(mut self, wait_scope: &WaitScope, event_source: &mut EventPort<E1>) -> Result<T, E>
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn EventPort<E1>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(event_source.wait());
[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/lib.rs:467:28
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSet<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/lib.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | use private::{promise_node, Event, BoolEvent, PromiseAndFulfillerHub, PromiseAndFulfillerWrapper,
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/private/promise_node.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 | / ...                   ::std::mem::replace(&mut *strong_self_ptr.borrow_mut(),
[INFO] [stdout] 158 | | ...                                       ChainState::Step2(inner, None));
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.58s
[INFO] running `Command { std: "docker" "inspect" "dd11bad0d5afa159def6a6cdfdb46eac4648fa06c6130b7adc485c8d5185fa86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd11bad0d5afa159def6a6cdfdb46eac4648fa06c6130b7adc485c8d5185fa86", kill_on_drop: false }`
[INFO] [stdout] dd11bad0d5afa159def6a6cdfdb46eac4648fa06c6130b7adc485c8d5185fa86
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29c209d4c26188662f8061879ad2c69c4b2d856e0c088c46950b684380508354
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "29c209d4c26188662f8061879ad2c69c4b2d856e0c088c46950b684380508354", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dependency: Box<PromiseNode<DepT, E>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(dependency: Box<PromiseNode<DepT, E>>, func: Func) -> Transform<T, E, E1, DepT, Func> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Step1(Box<PromiseNode<Promise<T, E>, E>>, Option<GuardedEventHandle>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Step2(Box<PromiseNode<T, E>>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:176:31
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub fn new(mut inner: Box<PromiseNode<Promise<T, E>, E>>) -> Chain<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     Waiting(Box<PromiseNode<T, E>>, EventDropper),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:377:23
[INFO] [stdout]     |
[INFO] [stdout] 377 |     left: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |     right: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:30
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:65
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:438:17
[INFO] [stdout]     |
[INFO] [stdout] 438 |     Waiting(Box<PromiseNode<T, E>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:453:31
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn new(mut inner: Box<PromiseNode<T, E>>) -> ForkHub<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:459:73
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let event = Box::new(ForkEvent { state: state.clone() }) as Box<Event>;
[INFO] [stdout]     |                                                                         ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/mod.rs:97:34
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set(&self, event: Box<Event>) {
[INFO] [stdout]    |                                  ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:121:27
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub event: Option<Box<Event>>,
[INFO] [stdout]     |                           ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:281:28
[INFO] [stdout]     |
[INFO] [stdout] 281 |     reaper: Rc<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSetImpl<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 293 |       pub fn add(&self, mut node: Box<PromiseNode<T, E>>) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gj v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:308:35
[INFO] [stdout]     |
[INFO] [stdout] 308 |     weak_reaper: Weak<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:310:22
[INFO] [stdout]     |
[INFO] [stdout] 310 |     node: Option<Box<PromiseNode<T, E>>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     node: Box<PromiseNode<T, E>>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:204:74
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn wait<E1>(mut self, wait_scope: &WaitScope, event_source: &mut EventPort<E1>) -> Result<T, E>
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn EventPort<E1>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(event_source.wait());
[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/lib.rs:467:28
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSet<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/lib.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | use private::{promise_node, Event, BoolEvent, PromiseAndFulfillerHub, PromiseAndFulfillerWrapper,
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/private/promise_node.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 | / ...                   ::std::mem::replace(&mut *strong_self_ptr.borrow_mut(),
[INFO] [stdout] 158 | | ...                                       ChainState::Step2(inner, None));
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |     dependency: Box<PromiseNode<DepT, E>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/promise_node.rs:42:32
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new(dependency: Box<PromiseNode<DepT, E>>, func: Func) -> Transform<T, E, E1, DepT, Func> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Step1(Box<PromiseNode<Promise<T, E>, E>>, Option<GuardedEventHandle>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Step2(Box<PromiseNode<T, E>>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:176:31
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub fn new(mut inner: Box<PromiseNode<Promise<T, E>, E>>) -> Chain<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     Waiting(Box<PromiseNode<T, E>>, EventDropper),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:377:23
[INFO] [stdout]     |
[INFO] [stdout] 377 |     left: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |     right: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:30
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:386:65
[INFO] [stdout]     |
[INFO] [stdout] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:438:17
[INFO] [stdout]     |
[INFO] [stdout] 438 |     Waiting(Box<PromiseNode<T, E>>),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:453:31
[INFO] [stdout]     |
[INFO] [stdout] 453 |     pub fn new(mut inner: Box<PromiseNode<T, E>>) -> ForkHub<T, E> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/promise_node.rs:459:73
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let event = Box::new(ForkEvent { state: state.clone() }) as Box<Event>;
[INFO] [stdout]     |                                                                         ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/private/mod.rs:97:34
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set(&self, event: Box<Event>) {
[INFO] [stdout]    |                                  ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:121:27
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub event: Option<Box<Event>>,
[INFO] [stdout]     |                           ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:281:28
[INFO] [stdout]     |
[INFO] [stdout] 281 |     reaper: Rc<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSetImpl<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:293:39
[INFO] [stdout]     |
[INFO] [stdout] 293 |       pub fn add(&self, mut node: Box<PromiseNode<T, E>>) {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:308:35
[INFO] [stdout]     |
[INFO] [stdout] 308 |     weak_reaper: Weak<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/private/mod.rs:310:22
[INFO] [stdout]     |
[INFO] [stdout] 310 |     node: Option<Box<PromiseNode<T, E>>>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     node: Box<PromiseNode<T, E>>,
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:204:74
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn wait<E1>(mut self, wait_scope: &WaitScope, event_source: &mut EventPort<E1>) -> Result<T, E>
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn EventPort<E1>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:220:21
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     try!(event_source.wait());
[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/lib.rs:467:28
[INFO] [stdout]     |
[INFO] [stdout] 467 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSet<T, E> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> tests/promises.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(promise.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> tests/promises.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let value = try!(promise.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> tests/promises.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let value = try!(promise3.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> tests/promises.rs:135:49
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let promise2: Promise<&'static str, Box<::std::error::Error>> =
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]   --> src/lib.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | use private::{promise_node, Event, BoolEvent, PromiseAndFulfillerHub, PromiseAndFulfillerWrapper,
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/private/promise_node.rs:157:29
[INFO] [stdout]     |
[INFO] [stdout] 157 | / ...                   ::std::mem::replace(&mut *strong_self_ptr.borrow_mut(),
[INFO] [stdout] 158 | | ...                                       ChainState::Step2(inner, None));
[INFO] [stdout]     | |__________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.07s
[INFO] running `Command { std: "docker" "inspect" "29c209d4c26188662f8061879ad2c69c4b2d856e0c088c46950b684380508354", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29c209d4c26188662f8061879ad2c69c4b2d856e0c088c46950b684380508354", kill_on_drop: false }`
[INFO] [stdout] 29c209d4c26188662f8061879ad2c69c4b2d856e0c088c46950b684380508354
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fde5a7cb6f4d051015cbb3f197c9c8538b11461b030c0859bbea64ee6f6c099f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "fde5a7cb6f4d051015cbb3f197c9c8538b11461b030c0859bbea64ee6f6c099f", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/promise_node.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |     dependency: Box<PromiseNode<DepT, E>>,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/promise_node.rs:42:32
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn new(dependency: Box<PromiseNode<DepT, E>>, func: Func) -> Transform<T, E, E1, DepT, Func> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:101:15
[INFO] [stderr]     |
[INFO] [stderr] 101 |     Step1(Box<PromiseNode<Promise<T, E>, E>>, Option<GuardedEventHandle>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:102:15
[INFO] [stderr]     |
[INFO] [stderr] 102 |     Step2(Box<PromiseNode<T, E>>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:176:31
[INFO] [stderr]     |
[INFO] [stderr] 176 |     pub fn new(mut inner: Box<PromiseNode<Promise<T, E>, E>>) -> Chain<T, E> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:273:17
[INFO] [stderr]     |
[INFO] [stderr] 273 |     Waiting(Box<PromiseNode<T, E>>, EventDropper),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:377:23
[INFO] [stderr]     |
[INFO] [stderr] 377 |     left: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:378:24
[INFO] [stderr]     |
[INFO] [stderr] 378 |     right: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:386:30
[INFO] [stderr]     |
[INFO] [stderr] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:386:65
[INFO] [stderr]     |
[INFO] [stderr] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:438:17
[INFO] [stderr]     |
[INFO] [stderr] 438 |     Waiting(Box<PromiseNode<T, E>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:453:31
[INFO] [stderr]     |
[INFO] [stderr] 453 |     pub fn new(mut inner: Box<PromiseNode<T, E>>) -> ForkHub<T, E> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:459:73
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let event = Box::new(ForkEvent { state: state.clone() }) as Box<Event>;
[INFO] [stderr]     |                                                                         ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/mod.rs:97:34
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn set(&self, event: Box<Event>) {
[INFO] [stderr]    |                                  ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:121:27
[INFO] [stderr]     |
[INFO] [stderr] 121 |     pub event: Option<Box<Event>>,
[INFO] [stderr]     |                           ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:281:28
[INFO] [stderr]     |
[INFO] [stderr] 281 |     reaper: Rc<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:286:28
[INFO] [stderr]     |
[INFO] [stderr] 286 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSetImpl<T, E> {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:293:39
[INFO] [stderr]     |
[INFO] [stderr] 293 |       pub fn add(&self, mut node: Box<PromiseNode<T, E>>) {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:308:35
[INFO] [stderr]     |
[INFO] [stderr] 308 |     weak_reaper: Weak<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:310:22
[INFO] [stderr]     |
[INFO] [stderr] 310 |     node: Option<Box<PromiseNode<T, E>>>,
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:80:15
[INFO] [stderr]    |
[INFO] [stderr] 80 |     node: Box<PromiseNode<T, E>>,
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:204:74
[INFO] [stderr]     |
[INFO] [stderr] 204 |     pub fn wait<E1>(mut self, wait_scope: &WaitScope, event_source: &mut EventPort<E1>) -> Result<T, E>
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn EventPort<E1>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(event_source.wait());
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:467:28
[INFO] [stderr]     |
[INFO] [stderr] 467 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSet<T, E> {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Event`
[INFO] [stderr]   --> src/lib.rs:54:29
[INFO] [stderr]    |
[INFO] [stderr] 54 | use private::{promise_node, Event, BoolEvent, PromiseAndFulfillerHub, PromiseAndFulfillerWrapper,
[INFO] [stderr]    |                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]    --> src/private/promise_node.rs:157:29
[INFO] [stderr]     |
[INFO] [stderr] 157 | / ...                   ::std::mem::replace(&mut *strong_self_ptr.borrow_mut(),
[INFO] [stderr] 158 | | ...                                       ChainState::Step2(inner, None));
[INFO] [stderr]     | |__________________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] 
[INFO] [stderr] warning: 26 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/promise_node.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |     dependency: Box<PromiseNode<DepT, E>>,
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/promise_node.rs:42:32
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub fn new(dependency: Box<PromiseNode<DepT, E>>, func: Func) -> Transform<T, E, E1, DepT, Func> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<DepT, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:101:15
[INFO] [stderr]     |
[INFO] [stderr] 101 |     Step1(Box<PromiseNode<Promise<T, E>, E>>, Option<GuardedEventHandle>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:102:15
[INFO] [stderr]     |
[INFO] [stderr] 102 |     Step2(Box<PromiseNode<T, E>>, Option<Weak<RefCell<ChainState<T, E>>>>),
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:176:31
[INFO] [stderr]     |
[INFO] [stderr] 176 |     pub fn new(mut inner: Box<PromiseNode<Promise<T, E>, E>>) -> Chain<T, E> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<Promise<T, E>, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:273:17
[INFO] [stderr]     |
[INFO] [stderr] 273 |     Waiting(Box<PromiseNode<T, E>>, EventDropper),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:377:23
[INFO] [stderr]     |
[INFO] [stderr] 377 |     left: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:378:24
[INFO] [stderr]     |
[INFO] [stderr] 378 |     right: Option<(Box<PromiseNode<T, E>>, EventDropper)>,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:386:30
[INFO] [stderr]     |
[INFO] [stderr] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:386:65
[INFO] [stderr]     |
[INFO] [stderr] 386 |     pub fn new(mut left: Box<PromiseNode<T, E>>, mut right: Box<PromiseNode<T, E>>) -> ExclusiveJoin<T, E> {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:438:17
[INFO] [stderr]     |
[INFO] [stderr] 438 |     Waiting(Box<PromiseNode<T, E>>),
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:453:31
[INFO] [stderr]     |
[INFO] [stderr] 453 |     pub fn new(mut inner: Box<PromiseNode<T, E>>) -> ForkHub<T, E> {
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/promise_node.rs:459:73
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let event = Box::new(ForkEvent { state: state.clone() }) as Box<Event>;
[INFO] [stderr]     |                                                                         ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/private/mod.rs:97:34
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn set(&self, event: Box<Event>) {
[INFO] [stderr]    |                                  ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:121:27
[INFO] [stderr]     |
[INFO] [stderr] 121 |     pub event: Option<Box<Event>>,
[INFO] [stderr]     |                           ^^^^^ help: use `dyn`: `dyn Event`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:281:28
[INFO] [stderr]     |
[INFO] [stderr] 281 |     reaper: Rc<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:286:28
[INFO] [stderr]     |
[INFO] [stderr] 286 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSetImpl<T, E> {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:293:39
[INFO] [stderr]     |
[INFO] [stderr] 293 |       pub fn add(&self, mut node: Box<PromiseNode<T, E>>) {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:308:35
[INFO] [stderr]     |
[INFO] [stderr] 308 |     weak_reaper: Weak<RefCell<Box<TaskReaper<T, E>>>>,
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/private/mod.rs:310:22
[INFO] [stderr]     |
[INFO] [stderr] 310 |     node: Option<Box<PromiseNode<T, E>>>,
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:80:15
[INFO] [stderr]    |
[INFO] [stderr] 80 |     node: Box<PromiseNode<T, E>>,
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn PromiseNode<T, E>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:204:74
[INFO] [stderr]     |
[INFO] [stderr] 204 |     pub fn wait<E1>(mut self, wait_scope: &WaitScope, event_source: &mut EventPort<E1>) -> Result<T, E>
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^ help: use `dyn`: `dyn EventPort<E1>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:220:21
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     try!(event_source.wait());
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/lib.rs:467:28
[INFO] [stderr]     |
[INFO] [stderr] 467 |     pub fn new(reaper: Box<TaskReaper<T, E>>) -> TaskSet<T, E> {
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn TaskReaper<T, E>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Event`
[INFO] [stderr]   --> src/lib.rs:54:29
[INFO] [stderr]    |
[INFO] [stderr] 54 | use private::{promise_node, Event, BoolEvent, PromiseAndFulfillerHub, PromiseAndFulfillerWrapper,
[INFO] [stderr]    |                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]    --> src/private/promise_node.rs:157:29
[INFO] [stderr]     |
[INFO] [stderr] 157 | / ...                   ::std::mem::replace(&mut *strong_self_ptr.borrow_mut(),
[INFO] [stderr] 158 | | ...                                       ChainState::Step2(inner, None));
[INFO] [stderr]     | |__________________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr] 
[INFO] [stderr] warning: 26 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> tests/promises.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |         try!(promise.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stderr]    |         ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> tests/promises.rs:54:21
[INFO] [stderr]    |
[INFO] [stderr] 54 |         let value = try!(promise.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> tests/promises.rs:125:21
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let value = try!(promise3.wait(wait_scope, &mut ClosedEventPort(())));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> tests/promises.rs:135:49
[INFO] [stderr]     |
[INFO] [stderr] 135 |         let promise2: Promise<&'static str, Box<::std::error::Error>> =
[INFO] [stderr]     |                                                 ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/gj-c6914b6fd55b65ff)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/promises.rs (/opt/rustwide/target/debug/deps/promises-dddc5d519d7af2e9)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test array_join_empty ... ok
[INFO] [stdout] test array_join_drop_then_fulfill ... ok
[INFO] [stdout] test array_join_ordering ... ok
[INFO] [stdout] test chain_error ... ok
[INFO] [stdout] test chain ... ok
[INFO] [stdout] test drop_tail ... ok
[INFO] [stdout] test drop_task_set ... ok
[INFO] [stdout] test drop_task_set_leak ... ok
[INFO] [stdout] test eval_int ... ok
[INFO] [stdout] test exclusive_join ... ok
[INFO] [stdout] test fork_simple ... ok
[INFO] [stdout] test fulfiller ... ok
[INFO] [stdout] test fork_branch_after_resolve ... ok
[INFO] [stdout] test reject_fulfiller ... ok
[INFO] [stdout] test fork_cancel ... ok
[INFO] [stdout] test hold_fulfiller ... ok
[INFO] [stdout] test array_join_simple ... ok
[INFO] [stdout] test task_set ... ok
[INFO] [stdout] test knotty ... ok
[INFO] [stdout] test ordering ... ok
[INFO] [stdout] test task_set_recursion ... ok
[INFO] [stdout] test separate_fulfiller_chained ... ok
[INFO] [stdout] test task_set_drop_self ... ok
[INFO] [stdout] test drop_depth_first_insertion_point ... ok
[INFO] [stdout] test drop_fulfiller ... ok
[INFO] [stdout] test eagerly_evaluate ... ok
[INFO] [stdout] test eval_void ... ok
[INFO] [stdout] test deep_chain2 ... ok
[INFO] [stdout] test simple_recursion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gj
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 29) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fde5a7cb6f4d051015cbb3f197c9c8538b11461b030c0859bbea64ee6f6c099f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fde5a7cb6f4d051015cbb3f197c9c8538b11461b030c0859bbea64ee6f6c099f", kill_on_drop: false }`
[INFO] [stdout] fde5a7cb6f4d051015cbb3f197c9c8538b11461b030c0859bbea64ee6f6c099f
