[INFO] fetching crate kernl 0.1.0...
[INFO] checking kernl-0.1.0 against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] extracting crate kernl 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate kernl 0.1.0
[INFO] finished tweaking crates.io crate kernl 0.1.0
[INFO] tweaked toml for crates.io crate kernl 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kernl 0.1.0 on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kernl 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31051d503f7013667c45e26246dd0e4dfa7dca7db8d999b9bf5be57c1b98b6a4
[INFO] running `Command { std: "docker" "start" "-a" "31051d503f7013667c45e26246dd0e4dfa7dca7db8d999b9bf5be57c1b98b6a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31051d503f7013667c45e26246dd0e4dfa7dca7db8d999b9bf5be57c1b98b6a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31051d503f7013667c45e26246dd0e4dfa7dca7db8d999b9bf5be57c1b98b6a4", kill_on_drop: false }`
[INFO] [stdout] 31051d503f7013667c45e26246dd0e4dfa7dca7db8d999b9bf5be57c1b98b6a4
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a69c2eff26520d3adb34aa4ee1027a29f084feff48980983c46625f6074c9d22
[INFO] running `Command { std: "docker" "start" "-a" "a69c2eff26520d3adb34aa4ee1027a29f084feff48980983c46625f6074c9d22", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling kernl_proc_macros v0.1.0
[INFO] [stderr]     Checking kernl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/util/parser/toml.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn parse_toml(input: &[u8]) -> Result<(), ()> {
[INFO] [stdout]   |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/config.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Config {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `TestLogger` is never constructed
[INFO] [stdout]   --> src/log.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct TestLogger {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Moin` is never constructed
[INFO] [stdout]   --> src/log.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Moin<T>(Option<T>);
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lol` is never used
[INFO] [stdout]   --> src/log.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn lol() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestLol` is never constructed
[INFO] [stdout]   --> src/log.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct TestLol<'a, T> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ThreadMessageStreamResponder` is never constructed
[INFO] [stdout]    --> src/thread.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct ThreadMessageStreamResponder<T>(mpsc::Sender<T>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ThreadMessageResponseStream` is never constructed
[INFO] [stdout]    --> src/thread.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct ThreadMessageResponseStream<T>(mpsc::Receiver<T>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout] 3 + pub type ThreadMessageSendResult<T> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<<T as /* Trait */>::ThreadMessage>>;
[INFO] [stdout]   |                                                                                     +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 5 - pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout] 5 + pub type ThreadMessageRecvResult<T> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |                                                                 +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout] 6 + pub type ThreadMessageTryRecvResult<T> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |                                                                    +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout] 7 + pub type ThreadMessageRecvTimeoutResult<T> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |                                                                        +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kernl` (lib test) due to 4 previous errors; 8 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]  --> src/util/parser/toml.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn parse_toml(input: &[u8]) -> Result<(), ()> {
[INFO] [stdout]   |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]  --> src/config.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Config {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `TestLogger` is never constructed
[INFO] [stdout]   --> src/log.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct TestLogger {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Moin` is never constructed
[INFO] [stdout]   --> src/log.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Moin<T>(Option<T>);
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lol` is never used
[INFO] [stdout]   --> src/log.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn lol() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestLol` is never constructed
[INFO] [stdout]   --> src/log.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct TestLol<'a, T> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ThreadMessageStreamResponder` is never constructed
[INFO] [stdout]    --> src/thread.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct ThreadMessageStreamResponder<T>(mpsc::Sender<T>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ThreadMessageResponseStream` is never constructed
[INFO] [stdout]    --> src/thread.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct ThreadMessageResponseStream<T>(mpsc::Receiver<T>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]   = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout] 3 + pub type ThreadMessageSendResult<T> = Result<(), mpsc::SendError<T::ThreadMessage>>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type ThreadMessageSendResult<T: ThreadMessageSink> = Result<(), mpsc::SendError<<T as /* Trait */>::ThreadMessage>>;
[INFO] [stdout]   |                                                                                     +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 5 - pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout] 5 + pub type ThreadMessageRecvResult<T> = Result<T::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type ThreadMessageRecvResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::RecvError>;
[INFO] [stdout]   |                                                                 +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 6 - pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout] 6 + pub type ThreadMessageTryRecvResult<T> = Result<T::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type ThreadMessageTryRecvResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::TryRecvError>;
[INFO] [stdout]   |                                                                    +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]  --> src/thread.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]   |
[INFO] [stdout]   = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]           see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]   = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove this bound
[INFO] [stdout]   |
[INFO] [stdout] 7 - pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout] 7 + pub type ThreadMessageRecvTimeoutResult<T> = Result<T::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ThreadMessageRecvTimeoutResult<T: ThreadMessageSink> = Result<<T as /* Trait */>::ThreadMessage, mpsc::RecvTimeoutError>;
[INFO] [stdout]   |                                                                        +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kernl` (lib) due to 4 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a69c2eff26520d3adb34aa4ee1027a29f084feff48980983c46625f6074c9d22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a69c2eff26520d3adb34aa4ee1027a29f084feff48980983c46625f6074c9d22", kill_on_drop: false }`
[INFO] [stdout] a69c2eff26520d3adb34aa4ee1027a29f084feff48980983c46625f6074c9d22
