[INFO] fetching crate kobold_macros 0.9.0...
[INFO] checking kobold_macros-0.9.0 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate kobold_macros 0.9.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate kobold_macros 0.9.0
[INFO] finished tweaking crates.io crate kobold_macros 0.9.0
[INFO] tweaked toml for crates.io crate kobold_macros 0.9.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kobold_macros 0.9.0 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to highest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04
[INFO] running `Command { std: "docker" "start" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking unicode-ident v1.0.27
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking beef v0.5.2
[INFO] [stderr]     Checking proc-macro2 v1.0.107
[INFO] [stderr]     Checking kobold_macros v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `JsModule`
[INFO] [stdout]   --> src/gen.rs:23:55
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use transient::{JsArgument, JsFnName, JsFunction, JsModule, JsString};
[INFO] [stdout]    |                                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsModule`
[INFO] [stdout]   --> src/gen.rs:23:55
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use transient::{JsArgument, JsFnName, JsFunction, JsModule, JsString};
[INFO] [stdout]    |                                                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Return` is never constructed
[INFO] [stdout]    --> src/branching/ast.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Return {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]    --> src/branching/ast.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Branch {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]   --> src/dom.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Component {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 45 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Component` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/dom.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct HtmlElement {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 55 |     pub name: ElementTag,
[INFO] [stdout] 56 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HtmlElement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/dom/expression.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Expression {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 14 |     pub stream: TokenStream,
[INFO] [stdout] 15 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsAttrConstructor` is never constructed
[INFO] [stdout]    --> src/gen/transient.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct JsAttrConstructor(pub JsFnName);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map_ident` is never used
[INFO] [stdout]    --> src/parse.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub trait TokenTreeExt {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn map_ident<F, R>(&self, f: F) -> Option<R>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_fmt` is never used
[INFO] [stdout]    --> src/tokenize.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub trait TokenStreamExt {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn write_fmt(&mut self, args: Arguments);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:39:47
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let args = unwrap_err!(fn_component::args(args.into()));
[INFO] [stdout]    |                                               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 39 -     let args = unwrap_err!(fn_component::args(args.into()));
[INFO] [stdout] 39 +     let args = unwrap_err!(fn_component::args(args));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 39 -     let args = unwrap_err!(fn_component::args(args.into()));
[INFO] [stdout] 39 +     let args = unwrap_err!(fn_component::args(<TokenStream as Into<_>>::into(args)));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:41:57
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let out = unwrap_err!(fn_component::component(args, input.into()));
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 41 -     let out = unwrap_err!(fn_component::component(args, input.into()));
[INFO] [stdout] 41 +     let out = unwrap_err!(fn_component::component(args, input));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 41 -     let out = unwrap_err!(fn_component::component(args, input.into()));
[INFO] [stdout] 41 +     let out = unwrap_err!(fn_component::component(args, <TokenStream as Into<_>>::into(input)));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     out.into()
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 45 -     out.into()
[INFO] [stdout] 45 +     out
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 45 -     out.into()
[INFO] [stdout] 45 +     <TokenStream as Into<_>>::into(out)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:51:40
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let nodes = unwrap_err!(dom::parse(body.into()));
[INFO] [stdout]    |                                        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let nodes = unwrap_err!(dom::parse(body.into()));
[INFO] [stdout] 51 +     let nodes = unwrap_err!(dom::parse(body));
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 51 -     let nodes = unwrap_err!(dom::parse(body.into()));
[INFO] [stdout] 51 +     let nodes = unwrap_err!(dom::parse(<TokenStream as Into<_>>::into(body)));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     out.into()
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 61 -     out.into()
[INFO] [stdout] 61 +     out
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 61 -     out.into()
[INFO] [stdout] 61 +     <TokenStream as Into<_>>::into(out)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 27 | macro_rules! unwrap_err {
[INFO] [stdout] ...
[INFO] [stdout] 31 |             Err(err) => return err.tokenize().into(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     let args = unwrap_err!(fn_component::args(args.into()));
[INFO] [stdout]    |                -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<TokenStream as Into<TokenStream>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 27 | macro_rules! unwrap_err {
[INFO] [stdout] ...
[INFO] [stdout] 31 |             Err(err) => return err.tokenize().into(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     let out = unwrap_err!(fn_component::component(args, input.into()));
[INFO] [stdout]    |               -------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<TokenStream as Into<TokenStream>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `TokenStream`
[INFO] [stdout]   --> src/lib.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 27 | macro_rules! unwrap_err {
[INFO] [stdout] ...
[INFO] [stdout] 31 |             Err(err) => return err.tokenize().into(),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     let nodes = unwrap_err!(dom::parse(body.into()));
[INFO] [stdout]    |                 ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: you can instead use the fully-qualified path `<TokenStream as Into<TokenStream>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/itertools.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn join(self, sep: &str) -> Join<Self> {
[INFO] [stdout]    |                        ^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn join(self, sep: &str) -> Join<'_, Self> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kobold_macros` (lib) due to 8 previous errors; 10 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: struct `Return` is never constructed
[INFO] [stdout]    --> src/branching/ast.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Return {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]    --> src/branching/ast.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Branch {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `span` are never read
[INFO] [stdout]   --> src/dom.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Component {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 45 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Component` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/dom.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct HtmlElement {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 55 |     pub name: ElementTag,
[INFO] [stdout] 56 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HtmlElement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/dom/expression.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Expression {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 14 |     pub stream: TokenStream,
[INFO] [stdout] 15 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsAttrConstructor` is never constructed
[INFO] [stdout]    --> src/gen/transient.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct JsAttrConstructor(pub JsFnName);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map_ident` is never used
[INFO] [stdout]    --> src/parse.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub trait TokenTreeExt {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn map_ident<F, R>(&self, f: F) -> Option<R>
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_fmt` is never used
[INFO] [stdout]    --> src/tokenize.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub trait TokenStreamExt {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn write_fmt(&mut self, args: Arguments);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/itertools.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn join(self, sep: &str) -> Join<Self> {
[INFO] [stdout]    |                        ^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn join(self, sep: &str) -> Join<'_, Self> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04", kill_on_drop: false }`
[INFO] [stdout] eff762c73f7d693eb87ad030d11098a59ee8f7a1f6779322fc3812296249dd04
