[INFO] cloning repository https://github.com/kennyzavr/mozaic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kennyzavr/mozaic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennyzavr%2Fmozaic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennyzavr%2Fmozaic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a95f6685d020c71b79bd7e6ec4cffa7b0fb7b264
[INFO] testing kennyzavr/mozaic against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkennyzavr%2Fmozaic" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kennyzavr/mozaic
[INFO] finished tweaking git repo https://github.com/kennyzavr/mozaic
[INFO] tweaked toml for git repo https://github.com/kennyzavr/mozaic written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kennyzavr/mozaic on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kennyzavr/mozaic 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e216eb4c30c4d663e8d99d7d218f3b59457910ea8ccd396e0f8f1f45957ea47
[INFO] running `Command { std: "docker" "start" "-a" "9e216eb4c30c4d663e8d99d7d218f3b59457910ea8ccd396e0f8f1f45957ea47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e216eb4c30c4d663e8d99d7d218f3b59457910ea8ccd396e0f8f1f45957ea47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e216eb4c30c4d663e8d99d7d218f3b59457910ea8ccd396e0f8f1f45957ea47", kill_on_drop: false }`
[INFO] [stdout] 9e216eb4c30c4d663e8d99d7d218f3b59457910ea8ccd396e0f8f1f45957ea47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7778c89d8ccb094e0b50ee6cf9cd55e8476b11d695e5f56313817ba99ea24ce9
[INFO] running `Command { std: "docker" "start" "-a" "7778c89d8ccb094e0b50ee6cf9cd55e8476b11d695e5f56313817ba99ea24ce9", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling kompozit-core v0.1.0 (/opt/rustwide/workdir/kompozit-core)
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / pub trait Recomposition: Sized {
[INFO] [stdout]   2 | |     type Unit: ?Sized;
[INFO] [stdout]   3 | |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   4 | |     type Output;
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Recomposition: Sized {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     type Unit: ?Sized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     type Output;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> kompozit-core/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn apply(self, composition: &mut Self::Composition) -> Self::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling kompozit-macros v0.1.0 (/opt/rustwide/workdir/kompozit-macros)
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |                         ------------^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W elided-lifetimes-in-paths`
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream<'_>) -> syn::Result<Self> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comma_token` is never read
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     struct Input {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |         composer: syn::Ident,
[INFO] [stdout] 11 |         comma_token: syn::Token![,],
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / mod composable;
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | use proc_macro_error::proc_macro_error;
[INFO] [stdout]  4 | | use quote::ToTokens;
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |     composable::transform(true, expr).to_token_stream().into()
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kompozit v0.1.0 (/opt/rustwide/workdir/kompozit)
[INFO] [stdout] warning: unused variable: `comp`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:50
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             default_slot: &mut Stub,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> kompozit/src/lib.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `composition`
[INFO] [stdout]    --> kompozit/src/lib.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |         fn apply(self, composition: &mut Self::Composition) -> Self::Output {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_composition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasUnit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `HasUnit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     trait HasUnit {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AreSame<<C as HasUnit>::Unit, Unit>` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `AreSame<<C as HasUnit>::Unit, Unit>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     trait AreSame<A: ?Sized, B: ?Sized> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `HasUnit::Unit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but associated type `HasUnit::Unit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         type Unit: ?Sized;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::marker::PhantomData;
[INFO] [stdout]   2 | |
[INFO] [stdout]   3 | | pub use kompozit_core::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pub fn from_fn<U: ?Sized, C: Composition<Unit = U>, O, F: FnOnce(&mut C) -> O>(
[INFO] [stdout] 12 | |     f: F,
[INFO] [stdout] 13 | | ) -> impl Recomposition<Unit = U, Composition = C, Output = O> {
[INFO] [stdout]    | |______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> kompozit/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub mod private {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub trait Slot: From<Self::Source> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         type Source;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         type Target;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         fn get(&mut self) -> &mut Self::Target;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         Unit: ?Sized,
[INFO] [stdout] 64 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-debug-implementations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout] 67 | |         PhantomData<Unit>,
[INFO] [stdout] 68 | |         PhantomData<Target>,
[INFO] [stdout] 69 | |         PhantomData<Stub>,
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Unit: ?Sized,
[INFO] [stdout] 73 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub fn composer<UnitProvider: Composition, Target>(
[INFO] [stdout] 86 | |         _: &UnitProvider,
[INFO] [stdout] 87 | |     ) -> Composer<UnitProvider::Unit, Target, StubComposition<UnitProvider::Unit>> {
[INFO] [stdout]    | |__________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         pub fn target_from_recomp<R: Recomposition<Composition = Target>>(&self, _: &R) -> &Self {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub trait ComposeTarget<Target, Stub> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         fn compose<'s>(
[INFO] [stdout] 101 | |             &self,
[INFO] [stdout] 102 | |             slot: &'s mut impl Slot<Target = Target>,
[INFO] [stdout] 103 | |             default_slot: &mut Stub,
[INFO] [stdout] 104 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub trait ComposeStub<Target, Stub> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         fn compose<'s>(
[INFO] [stdout] 112 | |             &self,
[INFO] [stdout] 113 | |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout] 114 | |             default_slot: &'s mut Target,
[INFO] [stdout] 115 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub trait NeverComposition: Composition<Unit = NeverUnit> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         pub fn new(_: &R) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub trait CastNever<R: Recomposition<Unit = NeverUnit>>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = R::Output> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub trait IsRecomp<R> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> kompozit/src/lib.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn check_to_recomp<R>(_: &R)
[INFO] [stdout] 173 | |     where
[INFO] [stdout] 174 | |         R: Recomposition,
[INFO] [stdout]     | |_________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub trait CastStub<R>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub trait FallbackCastPrimary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 186 | |         where
[INFO] [stdout] 187 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub trait FallbackCastSecondary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 195 | |         where
[INFO] [stdout] 196 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         pub fn new(output: O) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.89s
[INFO] running `Command { std: "docker" "inspect" "7778c89d8ccb094e0b50ee6cf9cd55e8476b11d695e5f56313817ba99ea24ce9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7778c89d8ccb094e0b50ee6cf9cd55e8476b11d695e5f56313817ba99ea24ce9", kill_on_drop: false }`
[INFO] [stdout] 7778c89d8ccb094e0b50ee6cf9cd55e8476b11d695e5f56313817ba99ea24ce9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c3cdfb9446c5015eee13950080c27e38b45811a671d29bf5a341523fe3cd3a27
[INFO] running `Command { std: "docker" "start" "-a" "c3cdfb9446c5015eee13950080c27e38b45811a671d29bf5a341523fe3cd3a27", kill_on_drop: false }`
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / pub trait Recomposition: Sized {
[INFO] [stdout]   2 | |     type Unit: ?Sized;
[INFO] [stdout]   3 | |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   4 | |     type Output;
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Recomposition: Sized {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     type Unit: ?Sized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     type Output;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> kompozit-core/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn apply(self, composition: &mut Self::Composition) -> Self::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kompozit-core v0.1.0 (/opt/rustwide/workdir/kompozit-core)
[INFO] [stderr]    Compiling kompozit-macros v0.1.0 (/opt/rustwide/workdir/kompozit-macros)
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / pub trait Recomposition: Sized {
[INFO] [stdout]   2 | |     type Unit: ?Sized;
[INFO] [stdout]   3 | |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   4 | |     type Output;
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]  --> kompozit-core/src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Recomposition: Sized {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     type Unit: ?Sized;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     type Composition: Composition<Unit = Self::Unit>;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]  --> kompozit-core/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     type Output;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> kompozit-core/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn apply(self, composition: &mut Self::Composition) -> Self::Output;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |                         ------------^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W elided-lifetimes-in-paths`
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream<'_>) -> syn::Result<Self> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |                         ------------^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W elided-lifetimes-in-paths`
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 |         fn parse(input: syn::parse::ParseStream<'_>) -> syn::Result<Self> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comma_token` is never read
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     struct Input {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |         composer: syn::Ident,
[INFO] [stdout] 11 |         comma_token: syn::Token![,],
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / mod composable;
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | use proc_macro_error::proc_macro_error;
[INFO] [stdout]  4 | | use quote::ToTokens;
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |     composable::transform(true, expr).to_token_stream().into()
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut expr = syn::parse_macro_input!(input as syn::Expr);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comma_token` is never read
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     struct Input {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |         composer: syn::Ident,
[INFO] [stdout] 11 |         comma_token: syn::Token![,],
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / mod composable;
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | use proc_macro_error::proc_macro_error;
[INFO] [stdout]  4 | | use quote::ToTokens;
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |     composable::transform(true, expr).to_token_stream().into()
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit-macros/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[proc_macro_error]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the attribute macro `proc_macro_error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling kompozit v0.1.0 (/opt/rustwide/workdir/kompozit)
[INFO] [stdout] warning: unused variable: `comp`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:50
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comp`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:50
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_comp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             default_slot: &mut Stub,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> kompozit/src/lib.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> kompozit/src/lib.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn confirm_composition_possibility<C, T>(comp: &mut C, to: &mut T)
[INFO] [stdout]    |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `composition`
[INFO] [stdout]    --> kompozit/src/lib.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |         fn apply(self, composition: &mut Self::Composition) -> Self::Output {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_composition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             default_slot: &mut Stub,
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot`
[INFO] [stdout]    --> kompozit/src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> kompozit/src/lib.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `composition`
[INFO] [stdout]    --> kompozit/src/lib.rs:237:24
[INFO] [stdout]     |
[INFO] [stdout] 237 |         fn apply(self, composition: &mut Self::Composition) -> Self::Output {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_composition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasUnit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `HasUnit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     trait HasUnit {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AreSame<<C as HasUnit>::Unit, Unit>` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `AreSame<<C as HasUnit>::Unit, Unit>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     trait AreSame<A: ?Sized, B: ?Sized> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `HasUnit::Unit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but associated type `HasUnit::Unit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         type Unit: ?Sized;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::marker::PhantomData;
[INFO] [stdout]   2 | |
[INFO] [stdout]   3 | | pub use kompozit_core::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pub fn from_fn<U: ?Sized, C: Composition<Unit = U>, O, F: FnOnce(&mut C) -> O>(
[INFO] [stdout] 12 | |     f: F,
[INFO] [stdout] 13 | | ) -> impl Recomposition<Unit = U, Composition = C, Output = O> {
[INFO] [stdout]    | |______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> kompozit/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub mod private {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub trait Slot: From<Self::Source> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         type Source;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         type Target;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         fn get(&mut self) -> &mut Self::Target;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         Unit: ?Sized,
[INFO] [stdout] 64 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-debug-implementations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout] 67 | |         PhantomData<Unit>,
[INFO] [stdout] 68 | |         PhantomData<Target>,
[INFO] [stdout] 69 | |         PhantomData<Stub>,
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Unit: ?Sized,
[INFO] [stdout] 73 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub fn composer<UnitProvider: Composition, Target>(
[INFO] [stdout] 86 | |         _: &UnitProvider,
[INFO] [stdout] 87 | |     ) -> Composer<UnitProvider::Unit, Target, StubComposition<UnitProvider::Unit>> {
[INFO] [stdout]    | |__________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         pub fn target_from_recomp<R: Recomposition<Composition = Target>>(&self, _: &R) -> &Self {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub trait ComposeTarget<Target, Stub> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         fn compose<'s>(
[INFO] [stdout] 101 | |             &self,
[INFO] [stdout] 102 | |             slot: &'s mut impl Slot<Target = Target>,
[INFO] [stdout] 103 | |             default_slot: &mut Stub,
[INFO] [stdout] 104 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub trait ComposeStub<Target, Stub> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         fn compose<'s>(
[INFO] [stdout] 112 | |             &self,
[INFO] [stdout] 113 | |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout] 114 | |             default_slot: &'s mut Target,
[INFO] [stdout] 115 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub trait NeverComposition: Composition<Unit = NeverUnit> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         pub fn new(_: &R) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub trait CastNever<R: Recomposition<Unit = NeverUnit>>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = R::Output> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub trait IsRecomp<R> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> kompozit/src/lib.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn check_to_recomp<R>(_: &R)
[INFO] [stdout] 173 | |     where
[INFO] [stdout] 174 | |         R: Recomposition,
[INFO] [stdout]     | |_________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub trait CastStub<R>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub trait FallbackCastPrimary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 186 | |         where
[INFO] [stdout] 187 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub trait FallbackCastSecondary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 195 | |         where
[INFO] [stdout] 196 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         pub fn new(output: O) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasUnit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `HasUnit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     trait HasUnit {
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AreSame<<C as HasUnit>::Unit, Unit>` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `AreSame<<C as HasUnit>::Unit, Unit>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     trait AreSame<A: ?Sized, B: ?Sized> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated type `HasUnit::Unit` is more private than the item `Composer::<Unit, Target, Stub>::check`
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^ method `Composer::<Unit, Target, Stub>::check` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but associated type `HasUnit::Unit` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> kompozit/src/lib.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |         type Unit: ?Sized;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> kompozit/src/lib.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::marker::PhantomData;
[INFO] [stdout]   2 | |
[INFO] [stdout]   3 | | pub use kompozit_core::*;
[INFO] [stdout] ...   |
[INFO] [stdout] 269 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pub fn from_fn<U: ?Sized, C: Composition<Unit = U>, O, F: FnOnce(&mut C) -> O>(
[INFO] [stdout] 12 | |     f: F,
[INFO] [stdout] 13 | | ) -> impl Recomposition<Unit = U, Composition = C, Output = O> {
[INFO] [stdout]    | |______________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> kompozit/src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub mod private {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub trait Slot: From<Self::Source> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         type Source;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated type
[INFO] [stdout]   --> kompozit/src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         type Target;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         fn get(&mut self) -> &mut Self::Target;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | /     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout] 62 | |     where
[INFO] [stdout] 63 | |         Unit: ?Sized,
[INFO] [stdout] 64 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-debug-implementations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub struct Composer<Unit, Target, Stub>(StubComposer<Unit, Target, Stub>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout] 67 | |         PhantomData<Unit>,
[INFO] [stdout] 68 | |         PhantomData<Target>,
[INFO] [stdout] 69 | |         PhantomData<Stub>,
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         Unit: ?Sized,
[INFO] [stdout] 73 | |         Stub: Composition<Unit = Unit>;
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> kompozit/src/lib.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub struct StubComposer<Unit, Target, Stub>(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> kompozit/src/lib.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub fn composer<UnitProvider: Composition, Target>(
[INFO] [stdout] 86 | |         _: &UnitProvider,
[INFO] [stdout] 87 | |     ) -> Composer<UnitProvider::Unit, Target, StubComposition<UnitProvider::Unit>> {
[INFO] [stdout]    | |__________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> kompozit/src/lib.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         pub fn target_from_recomp<R: Recomposition<Composition = Target>>(&self, _: &R) -> &Self {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> kompozit/src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub trait ComposeTarget<Target, Stub> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         fn compose<'s>(
[INFO] [stdout] 101 | |             &self,
[INFO] [stdout] 102 | |             slot: &'s mut impl Slot<Target = Target>,
[INFO] [stdout] 103 | |             default_slot: &mut Stub,
[INFO] [stdout] 104 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub trait ComposeStub<Target, Stub> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         fn compose<'s>(
[INFO] [stdout] 112 | |             &self,
[INFO] [stdout] 113 | |             slot: &mut impl Slot<Target = Stub>,
[INFO] [stdout] 114 | |             default_slot: &'s mut Target,
[INFO] [stdout] 115 | |         ) -> &'s mut Target {
[INFO] [stdout]     | |___________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 | /         pub fn check<C>(&self, _: &mut C)
[INFO] [stdout] 142 | |         where
[INFO] [stdout] 143 | |             C: HasUnit<Unit = Unit>,
[INFO] [stdout] 144 | |             (): AreSame<C::Unit, Unit>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> kompozit/src/lib.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub enum NeverUnit {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub trait NeverComposition: Composition<Unit = NeverUnit> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub struct Caster<R>(PhantomData<R>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         pub fn new(_: &R) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub trait CastNever<R: Recomposition<Unit = NeverUnit>>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = R::Output> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub trait IsRecomp<R> {}
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> kompozit/src/lib.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | /     pub fn check_to_recomp<R>(_: &R)
[INFO] [stdout] 173 | |     where
[INFO] [stdout] 174 | |         R: Recomposition,
[INFO] [stdout]     | |_________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     pub trait CastStub<R>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         fn cast<U: ?Sized>(&self, i: R) -> impl Recomposition<Unit = U, Output = ()> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub trait FallbackCastPrimary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 186 | |         where
[INFO] [stdout] 187 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]    --> kompozit/src/lib.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub trait FallbackCastSecondary<C: Recomposition>: Sized {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> kompozit/src/lib.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 | /         fn cast<T: ?Sized>(&self, i: C) -> C
[INFO] [stdout] 195 | |         where
[INFO] [stdout] 196 | |             C: Recomposition<Unit = T>,
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub struct StubRecomposition<T: ?Sized, O>(PhantomData<T>, O);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type does not implement `Debug`; consider adding `#[derive(Debug)]` or a manual implementation
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> kompozit/src/lib.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub struct StubViewer<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> kompozit/src/lib.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         pub fn new(output: O) -> Self {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `PhantomComposition` in module `kompozit::private`
[INFO] [stdout]    --> kompozit/examples/foo.rs:2:63
[INFO] [stdout]     |
[INFO] [stdout]   2 |     let a = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<()>| {});
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ------------------------------------- similarly named struct `StubComposition` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout]   2 -     let a = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<()>| {});
[INFO] [stdout]   2 +     let a = kompozit::from_fn(|scope: &mut kompozit::private::StubComposition<()>| {});
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `PhantomComposition` in module `kompozit::private`
[INFO] [stdout]    --> kompozit/examples/foo.rs:3:63
[INFO] [stdout]     |
[INFO] [stdout]   3 |     let b = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<i32>| {});
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ------------------------------------- similarly named struct `StubComposition` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout]   3 -     let b = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<i32>| {});
[INFO] [stdout]   3 +     let b = kompozit::from_fn(|scope: &mut kompozit::private::StubComposition<i32>| {});
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `PhantomComposition` in module `kompozit::private`
[INFO] [stdout]    --> kompozit/examples/foo.rs:4:63
[INFO] [stdout]     |
[INFO] [stdout]   4 |     let c = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<()>| {});
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: kompozit/src/lib.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub struct StubComposition<T: ?Sized>(PhantomData<T>);
[INFO] [stdout]     |     ------------------------------------- similarly named struct `StubComposition` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout]   4 -     let c = kompozit::from_fn(|scope: &mut kompozit::private::PhantomComposition<()>| {});
[INFO] [stdout]   4 +     let c = kompozit::from_fn(|scope: &mut kompozit::private::StubComposition<()>| {});
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kompozit` (example "foo") due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "c3cdfb9446c5015eee13950080c27e38b45811a671d29bf5a341523fe3cd3a27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3cdfb9446c5015eee13950080c27e38b45811a671d29bf5a341523fe3cd3a27", kill_on_drop: false }`
[INFO] [stdout] c3cdfb9446c5015eee13950080c27e38b45811a671d29bf5a341523fe3cd3a27
