[INFO] fetching crate ferrous_threads 0.1.1...
[INFO] checking ferrous_threads-0.1.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate ferrous_threads 0.1.1 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate ferrous_threads 0.1.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ferrous_threads 0.1.1
[INFO] finished tweaking crates.io crate ferrous_threads 0.1.1
[INFO] tweaked toml for crates.io crate ferrous_threads 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 3 packages to latest compatible versions
[INFO] [stderr]       Adding bit-vec v0.4.4 (latest: v0.6.3)
[INFO] [stderr]       Adding canal v0.1.2 (latest: v0.1.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bit-vec v0.4.4
[INFO] [stderr]   Downloaded canal v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e3abd3d4e42e7ee7ff4b487055a59b1401cd9b6a9ce9852d5071ec61c65e8ef6
[INFO] running `Command { std: "docker" "start" "-a" "e3abd3d4e42e7ee7ff4b487055a59b1401cd9b6a9ce9852d5071ec61c65e8ef6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e3abd3d4e42e7ee7ff4b487055a59b1401cd9b6a9ce9852d5071ec61c65e8ef6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3abd3d4e42e7ee7ff4b487055a59b1401cd9b6a9ce9852d5071ec61c65e8ef6", kill_on_drop: false }`
[INFO] [stdout] e3abd3d4e42e7ee7ff4b487055a59b1401cd9b6a9ce9852d5071ec61c65e8ef6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f435c7992affadc7a280d8ac28b74307a8ac8fee08797f157d3520e463c009e9
[INFO] running `Command { std: "docker" "start" "-a" "f435c7992affadc7a280d8ac28b74307a8ac8fee08797f157d3520e463c009e9", kill_on_drop: false }`
[INFO] [stderr]     Checking canal v0.1.2
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking ferrous_threads v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/task_runner.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: box func })
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: Box::new(func) })
[INFO] [stdout]    |                                          ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:149:42
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 274 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 275 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 273 ~         let f = Box::new(move || {
[INFO] [stdout] 274 +             sn.send(0u8).unwrap();
[INFO] [stdout] 275 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 287 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 288 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 286 ~         let f = Box::new(move || {
[INFO] [stdout] 287 +             sn.send(0u8).unwrap();
[INFO] [stdout] 288 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 311 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 310 ~         let f1 = Box::new(move || {
[INFO] [stdout] 311 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |             panic!();
[INFO] [stdout] 316 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 314 ~         let f2 = Box::new(move || {
[INFO] [stdout] 315 +             panic!();
[INFO] [stdout] 316 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 349 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 348 ~         let f1 = Box::new(move || {
[INFO] [stdout] 349 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 |           let f3 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 353 | |             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 352 ~         let f3 = Box::new(move || {
[INFO] [stdout] 353 +             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:356:18
[INFO] [stdout]     |
[INFO] [stdout] 356 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 357 | |             panic!();
[INFO] [stdout] 358 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 356 ~         let f2 = Box::new(move || {
[INFO] [stdout] 357 +             panic!();
[INFO] [stdout] 358 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/task_runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/thread_pool.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/task_runner.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: box func })
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: Box::new(func) })
[INFO] [stdout]    |                                          ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:149:42
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 274 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 275 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 273 ~         let f = Box::new(move || {
[INFO] [stdout] 274 +             sn.send(0u8).unwrap();
[INFO] [stdout] 275 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 287 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 288 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 286 ~         let f = Box::new(move || {
[INFO] [stdout] 287 +             sn.send(0u8).unwrap();
[INFO] [stdout] 288 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 311 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 310 ~         let f1 = Box::new(move || {
[INFO] [stdout] 311 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |             panic!();
[INFO] [stdout] 316 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 314 ~         let f2 = Box::new(move || {
[INFO] [stdout] 315 +             panic!();
[INFO] [stdout] 316 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 349 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 348 ~         let f1 = Box::new(move || {
[INFO] [stdout] 349 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 |           let f3 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 353 | |             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 352 ~         let f3 = Box::new(move || {
[INFO] [stdout] 353 +             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:356:18
[INFO] [stdout]     |
[INFO] [stdout] 356 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 357 | |             panic!();
[INFO] [stdout] 358 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 356 ~         let f2 = Box::new(move || {
[INFO] [stdout] 357 +             panic!();
[INFO] [stdout] 358 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `catch_panic` in module `thread`
[INFO] [stdout]    --> src/thread_pool.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let res = thread::catch_panic(move || { job.run(); });
[INFO] [stdout]     |                               ^^^^^^^^^^^ not found in `thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             try!(self.free_chan.send(thread));
[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]    --> src/thread_pool.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             try!(res_sender.send(res));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let job = try!(jobs.recv());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `drain` has been stable since 1.6.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(drain)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(fnbox)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `catch_panic`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(catch_panic)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/task_runner.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<FnBox() + Send + 'a>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<dyn FnBox() + Send + 'a>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/task_runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/thread_pool.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `catch_panic` in module `thread`
[INFO] [stdout]    --> src/thread_pool.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let res = thread::catch_panic(move || { job.run(); });
[INFO] [stdout]     |                               ^^^^^^^^^^^ not found in `thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             try!(self.free_chan.send(thread));
[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]    --> src/thread_pool.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             try!(res_sender.send(res));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let job = try!(jobs.recv());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/thread_pool.rs:372:17
[INFO] [stdout]     |
[INFO] [stdout] 372 |         thread::sleep_ms(100);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `drain` has been stable since 1.6.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(drain)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(fnbox)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `catch_panic`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(catch_panic)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/task_runner.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<FnBox() + Send + 'a>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<dyn FnBox() + Send + 'a>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<Runner + Send + 'a>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<dyn Runner + Send + 'a>;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<Runner + Send + 'a>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<dyn Runner + Send + 'a>;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrous_threads` (lib) due to 18 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ferrous_threads` (lib test) due to 18 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f435c7992affadc7a280d8ac28b74307a8ac8fee08797f157d3520e463c009e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f435c7992affadc7a280d8ac28b74307a8ac8fee08797f157d3520e463c009e9", kill_on_drop: false }`
[INFO] [stdout] f435c7992affadc7a280d8ac28b74307a8ac8fee08797f157d3520e463c009e9
[INFO] checking ferrous_threads-0.1.1 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate ferrous_threads 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate ferrous_threads 0.1.1 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ferrous_threads 0.1.1
[INFO] finished tweaking crates.io crate ferrous_threads 0.1.1
[INFO] tweaked toml for crates.io crate ferrous_threads 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 3 packages to latest compatible versions
[INFO] [stderr]       Adding bit-vec v0.4.4 (latest: v0.6.3)
[INFO] [stderr]       Adding canal v0.1.2 (latest: v0.1.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 49b02ded044eaa0595f616825a2e73014b45f744efd2b3d20fcae3e2898d207f
[INFO] running `Command { std: "docker" "start" "-a" "49b02ded044eaa0595f616825a2e73014b45f744efd2b3d20fcae3e2898d207f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "49b02ded044eaa0595f616825a2e73014b45f744efd2b3d20fcae3e2898d207f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49b02ded044eaa0595f616825a2e73014b45f744efd2b3d20fcae3e2898d207f", kill_on_drop: false }`
[INFO] [stdout] 49b02ded044eaa0595f616825a2e73014b45f744efd2b3d20fcae3e2898d207f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ce038a4772f2ca397523dea6d5d8b77b566e46a8d4fc450c3e832d286fac201
[INFO] running `Command { std: "docker" "start" "-a" "6ce038a4772f2ca397523dea6d5d8b77b566e46a8d4fc450c3e832d286fac201", kill_on_drop: false }`
[INFO] [stderr]     Checking canal v0.1.2
[INFO] [stderr]     Checking bit-vec v0.4.4
[INFO] [stderr]     Checking ferrous_threads v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/task_runner.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: box func })
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: Box::new(func) })
[INFO] [stdout]    |                                          ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:149:42
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 274 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 275 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 273 ~         let f = Box::new(move || {
[INFO] [stdout] 274 +             sn.send(0u8).unwrap();
[INFO] [stdout] 275 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 287 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 288 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 286 ~         let f = Box::new(move || {
[INFO] [stdout] 287 +             sn.send(0u8).unwrap();
[INFO] [stdout] 288 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 311 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 310 ~         let f1 = Box::new(move || {
[INFO] [stdout] 311 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |             panic!();
[INFO] [stdout] 316 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 314 ~         let f2 = Box::new(move || {
[INFO] [stdout] 315 +             panic!();
[INFO] [stdout] 316 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 349 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 348 ~         let f1 = Box::new(move || {
[INFO] [stdout] 349 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 |           let f3 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 353 | |             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 352 ~         let f3 = Box::new(move || {
[INFO] [stdout] 353 +             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:356:18
[INFO] [stdout]     |
[INFO] [stdout] 356 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 357 | |             panic!();
[INFO] [stdout] 358 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 356 ~         let f2 = Box::new(move || {
[INFO] [stdout] 357 +             panic!();
[INFO] [stdout] 358 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/task_runner.rs:41:42
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: box func })
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Task::Data(TaskData { task_func: Box::new(func) })
[INFO] [stdout]    |                                          ~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:149:42
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let int_task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/task_runner.rs:166:42
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: box task_closure };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let task = TaskData { task_func: Box::new(task_closure) };
[INFO] [stdout]     |                                          ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 274 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 275 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 273 ~         let f = Box::new(move || {
[INFO] [stdout] 274 +             sn.send(0u8).unwrap();
[INFO] [stdout] 275 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 |           let f = box move || {
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 287 | |             sn.send(0u8).unwrap();
[INFO] [stdout] 288 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 286 ~         let f = Box::new(move || {
[INFO] [stdout] 287 +             sn.send(0u8).unwrap();
[INFO] [stdout] 288 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:310:18
[INFO] [stdout]     |
[INFO] [stdout] 310 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 311 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 310 ~         let f1 = Box::new(move || {
[INFO] [stdout] 311 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 312 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 315 | |             panic!();
[INFO] [stdout] 316 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 314 ~         let f2 = Box::new(move || {
[INFO] [stdout] 315 +             panic!();
[INFO] [stdout] 316 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |           let f1 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 349 | |             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 348 ~         let f1 = Box::new(move || {
[INFO] [stdout] 349 +             sn1.send(0u8).unwrap();
[INFO] [stdout] 350 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 352 |           let f3 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 353 | |             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 352 ~         let f3 = Box::new(move || {
[INFO] [stdout] 353 +             sn3.send(0u8).unwrap();
[INFO] [stdout] 354 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/thread_pool.rs:356:18
[INFO] [stdout]     |
[INFO] [stdout] 356 |           let f2 = box move || {
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 357 | |             panic!();
[INFO] [stdout] 358 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 356 ~         let f2 = Box::new(move || {
[INFO] [stdout] 357 +             panic!();
[INFO] [stdout] 358 ~         });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/task_runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/thread_pool.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `catch_panic` in module `thread`
[INFO] [stdout]    --> src/thread_pool.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let res = thread::catch_panic(move || { job.run(); });
[INFO] [stdout]     |                               ^^^^^^^^^^^ not found in `thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             try!(self.free_chan.send(thread));
[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]    --> src/thread_pool.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             try!(res_sender.send(res));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let job = try!(jobs.recv());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `drain` has been stable since 1.6.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(drain)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(fnbox)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `catch_panic`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(catch_panic)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/task_runner.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<FnBox() + Send + 'a>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<dyn FnBox() + Send + 'a>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/task_runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]   --> src/thread_pool.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::boxed::FnBox;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `catch_panic` in module `thread`
[INFO] [stdout]    --> src/thread_pool.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             let res = thread::catch_panic(move || { job.run(); });
[INFO] [stdout]     |                               ^^^^^^^^^^^ not found in `thread`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             try!(self.free_chan.send(thread));
[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]    --> src/thread_pool.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             try!(res_sender.send(res));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/thread_pool.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let job = try!(jobs.recv());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::thread::sleep_ms`: replaced by `std::thread::sleep`
[INFO] [stdout]    --> src/thread_pool.rs:372:17
[INFO] [stdout]     |
[INFO] [stdout] 372 |         thread::sleep_ms(100);
[INFO] [stdout]     |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `drain` has been stable since 1.6.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(drain)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(fnbox)]
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `catch_panic`
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(catch_panic)]
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/task_runner.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<FnBox() + Send + 'a>,
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     task_func: Box<dyn FnBox() + Send + 'a>,
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<Runner + Send + 'a>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<dyn Runner + Send + 'a>;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/thread_pool.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<Runner + Send + 'a>;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub type Proc<'a> = Box<dyn Runner + Send + 'a>;
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrous_threads` (lib) due to 18 previous errors; 6 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ferrous_threads` (lib test) due to 18 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6ce038a4772f2ca397523dea6d5d8b77b566e46a8d4fc450c3e832d286fac201", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ce038a4772f2ca397523dea6d5d8b77b566e46a8d4fc450c3e832d286fac201", kill_on_drop: false }`
[INFO] [stdout] 6ce038a4772f2ca397523dea6d5d8b77b566e46a8d4fc450c3e832d286fac201
