[INFO] crate thunk 0.3.0 is already in cache [INFO] extracting crate thunk 0.3.0 into work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/thunk/0.3.0 [INFO] extracting crate thunk 0.3.0 into work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/thunk/0.3.0 [INFO] validating manifest of thunk-0.3.0 on toolchain master#9f06855064ed06a50c496577b21ca50f92a2e67d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of thunk-0.3.0 on toolchain try#d3301713b54af69ca9de941a8c6b0d8287dbd6df [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing thunk-0.3.0 [INFO] finished frobbing thunk-0.3.0 [INFO] frobbed toml for thunk-0.3.0 written to work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/thunk/0.3.0/Cargo.toml [INFO] started frobbing thunk-0.3.0 [INFO] finished frobbing thunk-0.3.0 [INFO] frobbed toml for thunk-0.3.0 written to work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/reg/thunk/0.3.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking thunk-0.3.0 against master#9f06855064ed06a50c496577b21ca50f92a2e67d for pr-61874 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61874/worker-6/master#9f06855064ed06a50c496577b21ca50f92a2e67d:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/reg/thunk/0.3.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 958585840b9a6b2ca64883a3910a8a7ecf3901584e9994d390d0be438cbc9b3c [INFO] running `"docker" "start" "-a" "958585840b9a6b2ca64883a3910a8a7ecf3901584e9994d390d0be438cbc9b3c"` [INFO] [stderr] Checking thunk v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | /// If the `AtomicThunk` is evaluated, do nothing. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 261 | THUNK_EVALUATED => {} [INFO] [stderr] | --------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | / /// If the `AtomicThunk` is `LOCKING` or `LOCKED`, wait until the thunk is [INFO] [stderr] 264 | | /// done evaluating and then return a reference to the inner value. [INFO] [stderr] | |_______________________________________________________________________________^ [INFO] [stderr] 265 | THUNK_LOCKING | THUNK_LOCKED => unsafe { self.besiege() }, [INFO] [stderr] | --------------------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | / /// Only `THUNK_DEFERRED`, `THUNK_EVALUATED`, `THUNK_LOCKING`, and [INFO] [stderr] 268 | | /// `THUNK_LOCKED` are valid values of the flag. [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] 269 | / THUNK_INVALIDATED | [INFO] [stderr] 270 | | _ => unsafe { unreachable() }, [INFO] [stderr] | |_________________________________________- rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:260:13 [INFO] [stderr] | [INFO] [stderr] 260 | /// If the `AtomicThunk` is evaluated, do nothing. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 261 | THUNK_EVALUATED => {} [INFO] [stderr] | --------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | / /// If the `AtomicThunk` is `LOCKING` or `LOCKED`, wait until the thunk is [INFO] [stderr] 264 | | /// done evaluating and then return a reference to the inner value. [INFO] [stderr] | |_______________________________________________________________________________^ [INFO] [stderr] 265 | THUNK_LOCKING | THUNK_LOCKED => unsafe { self.besiege() }, [INFO] [stderr] | --------------------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/sync.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | / /// Only `THUNK_DEFERRED`, `THUNK_EVALUATED`, `THUNK_LOCKING`, and [INFO] [stderr] 268 | | /// `THUNK_LOCKED` are valid values of the flag. [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] 269 | / THUNK_INVALIDATED | [INFO] [stderr] 270 | | _ => unsafe { unreachable() }, [INFO] [stderr] | |_________________________________________- rustdoc does not generate documentation for match arms [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:98:69 [INFO] [stderr] | [INFO] [stderr] 98 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:221:33 [INFO] [stderr] | [INFO] [stderr] 221 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> () + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> ()` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> () + 'static` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::boxed::FnBox; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:98:69 [INFO] [stderr] | [INFO] [stderr] 98 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:217:21 [INFO] [stderr] | [INFO] [stderr] 217 | fn defer<'a, F: FnBox() -> T + 'a>(f: F) -> AtomicThunk [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:221:33 [INFO] [stderr] | [INFO] [stderr] 221 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::boxed::FnBox; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:151:21 [INFO] [stderr] | [INFO] [stderr] 151 | fn defer<'a, F: FnBox() -> T + 'a>(f: F) -> Thunk [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:98:69 [INFO] [stderr] | [INFO] [stderr] 98 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:221:33 [INFO] [stderr] | [INFO] [stderr] 221 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sync.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> () + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> ()` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> T` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/unsync.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnBox() -> () + 'static` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::boxed::FnBox; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:66:19 [INFO] [stderr] | [INFO] [stderr] 66 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:98:69 [INFO] [stderr] | [INFO] [stderr] 98 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:217:21 [INFO] [stderr] | [INFO] [stderr] 217 | fn defer<'a, F: FnBox() -> T + 'a>(f: F) -> AtomicThunk [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:221:33 [INFO] [stderr] | [INFO] [stderr] 221 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/sync.rs:222:46 [INFO] [stderr] | [INFO] [stderr] 222 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::boxed::FnBox; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | deferred: Box ()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:66:69 [INFO] [stderr] | [INFO] [stderr] 66 | let thunk_cast = Box::from_raw(Box::into_raw(thunk) as *mut FnBox() -> T); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:151:21 [INFO] [stderr] | [INFO] [stderr] 151 | fn defer<'a, F: FnBox() -> T + 'a>(f: F) -> Thunk [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | let thunk_raw: *mut FnBox() -> T = Box::into_raw(Box::new(f)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::boxed::FnBox': use `FnOnce`, `FnMut`, or `Fn` instead [INFO] [stderr] --> src/unsync.rs:157:50 [INFO] [stderr] | [INFO] [stderr] 157 | Box::from_raw(thunk_raw as *mut (FnBox() -> () + 'static)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/sync.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/unsync.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/sync.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_unsafe)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/unsync.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | unsafe { [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.47s [INFO] running `"docker" "inspect" "958585840b9a6b2ca64883a3910a8a7ecf3901584e9994d390d0be438cbc9b3c"` [INFO] running `"docker" "rm" "-f" "958585840b9a6b2ca64883a3910a8a7ecf3901584e9994d390d0be438cbc9b3c"` [INFO] [stdout] 958585840b9a6b2ca64883a3910a8a7ecf3901584e9994d390d0be438cbc9b3c