[INFO] fetching crate woodpecker 0.4.0...
[INFO] checking woodpecker-0.4.0 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate woodpecker 0.4.0 into /workspace/builds/worker-43/source
[INFO] validating manifest of crates.io crate woodpecker 0.4.0 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate woodpecker 0.4.0
[INFO] finished tweaking crates.io crate woodpecker 0.4.0
[INFO] tweaked toml for crates.io crate woodpecker 0.4.0 written to /workspace/builds/worker-43/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-43/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-43/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ff343fdb4691e9b363c4acf89d1eae793b60564ac960d5f74b58b14df78b8912
[INFO] running `Command { std: "docker" "start" "-a" "ff343fdb4691e9b363c4acf89d1eae793b60564ac960d5f74b58b14df78b8912", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff343fdb4691e9b363c4acf89d1eae793b60564ac960d5f74b58b14df78b8912", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff343fdb4691e9b363c4acf89d1eae793b60564ac960d5f74b58b14df78b8912", kill_on_drop: false }`
[INFO] [stdout] ff343fdb4691e9b363c4acf89d1eae793b60564ac960d5f74b58b14df78b8912
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-43/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-43/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2b2574aab9d4a2c008976403e3de04b60ad187792c2c7e8876162588eefae36f
[INFO] running `Command { std: "docker" "start" "-a" "2b2574aab9d4a2c008976403e3de04b60ad187792c2c7e8876162588eefae36f", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.104
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking crossbeam v0.2.12
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking bencher v0.1.5
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking parking_lot_core v0.2.14
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking parking_lot v0.4.8
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking chrono v0.3.0
[INFO] [stderr]     Checking woodpecker v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record/imp.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn formatted(&self, record: &Record) -> Arc<String> {
[INFO] [stdout]     |                                  ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logger.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn process(&self, record: &Record) {
[INFO] [stdout]     |                                ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) -> String + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                              ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/default.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn formatter(record: &Record) -> String {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: this attribute can only be applied to a `use` item
[INFO] [stdout]    --> src/lib.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[doc(inline)]
[INFO] [stdout]     |       ^^^^^^ only applicable on `use` items
[INFO] [stdout] 120 | pub mod spec;
[INFO] [stdout]     | ------------- not a `use` item
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_doc_attributes)]` 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 a future release!
[INFO] [stdout]     = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]     = note: read https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#docno_inlinedocinline for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/levels.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / lazy_static! {
[INFO] [stdout] 93  | |     static ref LMAP: HashMap<String, LogLevel> = {
[INFO] [stdout] 94  | |         let mut levels = HashMap::with_capacity(LEVELS.len());
[INFO] [stdout] 95  | |         for level in &LEVELS {
[INFO] [stdout] ...   |
[INFO] [stdout] 99  | |     };
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Arc, Once, ONCE_INIT};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | static LOG_THREAD: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | static IS_INIT: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/logger.rs:261:41
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let mut queues: QVec = mem::uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |     static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/logger.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:54:57
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let z = mem::replace(sent, CachePadded::new(ATOMIC_USIZE_INIT));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:59:70
[INFO] [stdout]    |
[INFO] [stdout] 59 |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / lazy_static! {
[INFO] [stdout] 289 | |     #[doc(hidden)]
[INFO] [stdout] 290 | |     pub static ref ROOT: Arc<RwLock<RootLogger>> = root();
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | static LOG_LEVEL: AtomicIsize = ATOMIC_ISIZE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicIsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 | static HAS_SUBLOGGERS: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/record/imp.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn formatted(&self, record: &Record) -> Arc<String> {
[INFO] [stdout]     |                                  ^^^^^^ help: use `dyn`: `dyn Record`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logger.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn process(&self, record: &Record) {
[INFO] [stdout]     |                                ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/logger.rs:349:10
[INFO] [stdout]     |
[INFO] [stdout] 349 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:421:13
[INFO] [stdout]     |
[INFO] [stdout] 421 |             wp_set_level!(LogLevel::TRACE, this_module!(), [(LineRangeBound::BOF, 42u32)]).unwrap();
[INFO] [stdout]     |             ------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `wp_set_level` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:429:13
[INFO] [stdout]     |
[INFO] [stdout] 429 |             wp_set_level!(LogLevel::TRACE, file!(), [(LineRangeBound::BOF, 42u32)]).unwrap();
[INFO] [stdout]     |             ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `wp_set_level` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             wp_set_level!(LogLevel::TRACE, this_file!(), [(42u32, 41u32)]).unwrap();
[INFO] [stdout]     |             -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `wp_set_level` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:444:24
[INFO] [stdout]     |
[INFO] [stdout] 444 |             assert_eq!(wp_set_level!(LogLevel::TRACE, "foo", [(LineRangeBound::BOF, LineRangeBound::EOF)]), Ok(()));
[INFO] [stdout]     |                        ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `wp_set_level` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/macros/control.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 |         )*;
[INFO] [stdout]     |           ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:445:24
[INFO] [stdout]     |
[INFO] [stdout] 445 |             assert_eq!(wp_set_level!(LogLevel::TRACE, this_file!(), [(LineRangeBound::BOF, 42u32)]), Ok(()));
[INFO] [stdout]     |                        ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `wp_set_level` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:111:50
[INFO] [stdout]     |
[INFO] [stdout] 111 |         log!($crate::LogLevel::TRACE => $($arg)*);
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:459:44
[INFO] [stdout]     |
[INFO] [stdout] 459 |                         LogLevel::TRACE => trace!("msg"),
[INFO] [stdout]     |                                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` 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 a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `trace` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:133:51
[INFO] [stdout]     |
[INFO] [stdout] 133 |         log!($crate::LogLevel::DEBUG  => $($arg)*);
[INFO] [stdout]     |                                                   ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:460:44
[INFO] [stdout]     |
[INFO] [stdout] 460 |                         LogLevel::DEBUG => debug!("msg"),
[INFO] [stdout]     |                                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |         log!($crate::LogLevel::VERBOSE => $($arg)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:461:46
[INFO] [stdout]     |
[INFO] [stdout] 461 |                         LogLevel::VERBOSE => verbose!("msg"),
[INFO] [stdout]     |                                              --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `verbose` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:177:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |         log!($crate::LogLevel::INFO => $($arg)*);
[INFO] [stdout]     |                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:462:43
[INFO] [stdout]     |
[INFO] [stdout] 462 |                         LogLevel::INFO => info!("msg"),
[INFO] [stdout]     |                                           ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:199:51
[INFO] [stdout]     |
[INFO] [stdout] 199 |         log!($crate::LogLevel::NOTICE => $($arg)*);
[INFO] [stdout]     |                                                   ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:463:45
[INFO] [stdout]     |
[INFO] [stdout] 463 |                         LogLevel::NOTICE => notice!("msg"),
[INFO] [stdout]     |                                             -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `notice` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:221:49
[INFO] [stdout]     |
[INFO] [stdout] 221 |         log!($crate::LogLevel::WARN => $($arg)*);
[INFO] [stdout]     |                                                 ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:464:43
[INFO] [stdout]     |
[INFO] [stdout] 464 |                         LogLevel::WARN => warn!("msg"),
[INFO] [stdout]     |                                           ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:243:50
[INFO] [stdout]     |
[INFO] [stdout] 243 |         log!($crate::LogLevel::ERROR => $($arg)*);
[INFO] [stdout]     |                                                  ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:465:44
[INFO] [stdout]     |
[INFO] [stdout] 465 |                         LogLevel::ERROR => error!("msg"),
[INFO] [stdout]     |                                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros/logging.rs:265:53
[INFO] [stdout]     |
[INFO] [stdout] 265 |         log!($crate::LogLevel::CRITICAL => $($arg)*);
[INFO] [stdout]     |                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/logger.rs:466:47
[INFO] [stdout]     |
[INFO] [stdout] 466 |                         LogLevel::CRITICAL => critical!("msg"),
[INFO] [stdout]     |                                               ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `critical` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handlers/mod.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Handler = Box<Fn(&Record) + Send + Sync>;
[INFO] [stdout]    |                            ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Record) -> String + Send + Sync`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/mod.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub type Formatter = Box<Fn(&Record) -> String + Send + Sync>;
[INFO] [stdout]    |                              ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/formatters/default.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn formatter(record: &Record) -> String {
[INFO] [stdout]    |                           ^^^^^^ help: use `dyn`: `dyn Record`
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: this attribute can only be applied to a `use` item
[INFO] [stdout]    --> src/lib.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | #[doc(inline)]
[INFO] [stdout]     |       ^^^^^^ only applicable on `use` items
[INFO] [stdout] 120 | pub mod spec;
[INFO] [stdout]     | ------------- not a `use` item
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(invalid_doc_attributes)]` 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 a future release!
[INFO] [stdout]     = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]     = note: read https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#docno_inlinedocinline for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/levels.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / lazy_static! {
[INFO] [stdout] 93  | |     static ref LMAP: HashMap<String, LogLevel> = {
[INFO] [stdout] 94  | |         let mut levels = HashMap::with_capacity(LEVELS.len());
[INFO] [stdout] 95  | |         for level in &LEVELS {
[INFO] [stdout] ...   |
[INFO] [stdout] 99  | |     };
[INFO] [stdout] 100 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::sync::{Arc, Once, ONCE_INIT};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |                         ATOMIC_USIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | static LOG_THREAD: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | static IS_INIT: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/logger.rs:261:41
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let mut queues: QVec = mem::uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |     static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                         ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/logger.rs:52:72
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:54:57
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let z = mem::replace(sent, CachePadded::new(ATOMIC_USIZE_INIT));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:59:70
[INFO] [stdout]    |
[INFO] [stdout] 59 |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/logger.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / lazy_static! {
[INFO] [stdout] 51 | |     static ref SENT: [CachePadded<AtomicUsize>; QNUM] = {
[INFO] [stdout] 52 | |         let mut sent: [CachePadded<AtomicUsize>; QNUM] = unsafe { mem::uninitialized() };
[INFO] [stdout] 53 | |         for sent in sent.iter_mut() {
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     static ref RECEIVED: CachePadded<AtomicUsize> = CachePadded::new(ATOMIC_USIZE_INIT);
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:288:1
[INFO] [stdout]     |
[INFO] [stdout] 288 | / lazy_static! {
[INFO] [stdout] 289 | |     #[doc(hidden)]
[INFO] [stdout] 290 | |     pub static ref ROOT: Arc<RwLock<RootLogger>> = root();
[INFO] [stdout] 291 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/logger.rs:351:29
[INFO] [stdout]     |
[INFO] [stdout] 351 |         static ONCE: Once = ONCE_INIT;
[INFO] [stdout]     |                             ^^^^^^^^^ help: replace the use of the deprecated constant: `Once::new()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 |                         ATOMIC_ISIZE_INIT, ATOMIC_BOOL_INIT};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_ISIZE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | static LOG_LEVEL: AtomicIsize = ATOMIC_ISIZE_INIT;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicIsize::new(0)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/global.rs:21:37
[INFO] [stdout]    |
[INFO] [stdout] 21 | static HAS_SUBLOGGERS: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/record/imp.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> Record for SyncRecord<'a> {
[INFO] [stdout]     |          ^^^^^^ `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `SyncRecord<'a>`, the trait `Sync` is not implemented for `core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `&'a core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `ArgumentV1<'a>`
[INFO] [stdout]     = note: required because it appears within the type `[ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `&'a [ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `Arguments<'a>`
[INFO] [stdout] note: required because it appears within the type `SyncRecord<'a>`
[INFO] [stdout]    --> src/record/imp.rs:143:19
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) struct SyncRecord<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Record`
[INFO] [stdout]    --> src/record/mod.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub trait Record: Send + Sync {
[INFO] [stdout]     |                          ^^^^ required by this bound in `Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `woodpecker` due to 2 previous errors; 26 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/record/imp.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl<'a> Record for SyncRecord<'a> {
[INFO] [stdout]     |          ^^^^^^ `core::fmt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `SyncRecord<'a>`, the trait `Sync` is not implemented for `core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `&'a core::fmt::Opaque`
[INFO] [stdout]     = note: required because it appears within the type `ArgumentV1<'a>`
[INFO] [stdout]     = note: required because it appears within the type `[ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `&'a [ArgumentV1<'a>]`
[INFO] [stdout]     = note: required because it appears within the type `Arguments<'a>`
[INFO] [stdout] note: required because it appears within the type `SyncRecord<'a>`
[INFO] [stdout]    --> src/record/imp.rs:143:19
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) struct SyncRecord<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `record::Record`
[INFO] [stdout]    --> src/record/mod.rs:26:26
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub trait Record: Send + Sync {
[INFO] [stdout]     |                          ^^^^ required by this bound in `record::Record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "2b2574aab9d4a2c008976403e3de04b60ad187792c2c7e8876162588eefae36f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b2574aab9d4a2c008976403e3de04b60ad187792c2c7e8876162588eefae36f", kill_on_drop: false }`
[INFO] [stdout] 2b2574aab9d4a2c008976403e3de04b60ad187792c2c7e8876162588eefae36f
