[INFO] cloning repository https://github.com/renatoathaydes/wasmin-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/renatoathaydes/wasmin-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenatoathaydes%2Fwasmin-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenatoathaydes%2Fwasmin-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3856ffdd5959e0d3f397fc1334b7bdc2154ec9c0
[INFO] checking renatoathaydes/wasmin-lang against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frenatoathaydes%2Fwasmin-lang" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/renatoathaydes/wasmin-lang
[INFO] finished tweaking git repo https://github.com/renatoathaydes/wasmin-lang
[INFO] tweaked toml for git repo https://github.com/renatoathaydes/wasmin-lang written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/renatoathaydes/wasmin-lang 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] crate git repo https://github.com/renatoathaydes/wasmin-lang 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d
[INFO] running `Command { std: "docker" "start" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d", 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" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d", 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" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling syn v1.0.55
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]     Checking leb128 v0.2.4
[INFO] [stderr]     Checking wasmparser v0.72.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking wasm-encoder v0.4.0
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]    Compiling structopt-derive v0.4.14
[INFO] [stderr]     Checking structopt v0.3.21
[INFO] [stderr]     Checking wasmin v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/stack.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if let Some(mut entry) = self.get_entry(&id) {
[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: unused variable: `fun_index`
[INFO] [stdout]    --> src/sink/wasm.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 fun_index,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `fun_index: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_conversion`
[INFO] [stdout]   --> src/sink/wat.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let (names, value, type_conversion) = assignment;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_conversion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_conversion`
[INFO] [stdout]   --> src/sink/wat.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (names, value, type_conversion) = assignment;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_conversion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/parse/expr_parser.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => Some(ExprError(e.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] 146 -                 Err(e) => Some(ExprError(e.into())),
[INFO] [stdout] 146 +                 Err(e) => Some(ExprError(e)),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 146 -                 Err(e) => Some(ExprError(e.into())),
[INFO] [stdout] 146 +                 Err(e) => Some(ExprError(<WasminError as Into<_>>::into(e))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/parse/expr_parser.rs:370:81
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.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] 370 -     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.into())?;
[INFO] [stdout] 370 +     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e)?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 370 -     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.into())?;
[INFO] [stdout] 370 +     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| <WasminError as Into<_>>::into(e))?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:258:40
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     return err_wasmin!(e.clone().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] 258 -                     return err_wasmin!(e.clone().into());
[INFO] [stdout] 258 +                     return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 258 -                     return err_wasmin!(e.clone().into());
[INFO] [stdout] 258 +                     return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:297:36
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 return err_wasmin!(e.clone().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] 297 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 297 +                 return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 297 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 297 +                 return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:300:36
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 return err_wasmin!(e.clone().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] 300 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 300 +                 return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 300 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 300 +                 return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:343:53
[INFO] [stdout]     |
[INFO] [stdout] 343 |             Expression::ExprError(e) => err_wasmin!(e.clone().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] 343 -             Expression::ExprError(e) => err_wasmin!(e.clone().into()),
[INFO] [stdout] 343 +             Expression::ExprError(e) => err_wasmin!(e.clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 343 -             Expression::ExprError(e) => err_wasmin!(e.clone().into()),
[INFO] [stdout] 343 +             Expression::ExprError(e) => err_wasmin!(<WasminError as Into<_>>::into(e.clone())),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sink/wasm_utils.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn to_const(typ: ValType, text: &str) -> Instruction {
[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] 33 | pub fn to_const(typ: ValType, text: &str) -> Instruction<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wasmin` (lib) due to 6 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse/stack.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if let Some(mut entry) = self.get_entry(&id) {
[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: unused variable: `fun_index`
[INFO] [stdout]    --> src/sink/wasm.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 fun_index,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `fun_index: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_conversion`
[INFO] [stdout]   --> src/sink/wat.rs:53:28
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let (names, value, type_conversion) = assignment;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_conversion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_conversion`
[INFO] [stdout]   --> src/sink/wat.rs:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let (names, value, type_conversion) = assignment;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_conversion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/parse/expr_parser.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 Err(e) => Some(ExprError(e.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] 146 -                 Err(e) => Some(ExprError(e.into())),
[INFO] [stdout] 146 +                 Err(e) => Some(ExprError(e)),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 146 -                 Err(e) => Some(ExprError(e.into())),
[INFO] [stdout] 146 +                 Err(e) => Some(ExprError(<WasminError as Into<_>>::into(e))),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/parse/expr_parser.rs:370:81
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.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] 370 -     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.into())?;
[INFO] [stdout] 370 +     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e)?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 370 -     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| e.into())?;
[INFO] [stdout] 370 +     let expr = parse_expr_with_state(parser, &mut state, skip_word).map_err(|e| <WasminError as Into<_>>::into(e))?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:258:40
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     return err_wasmin!(e.clone().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] 258 -                     return err_wasmin!(e.clone().into());
[INFO] [stdout] 258 +                     return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 258 -                     return err_wasmin!(e.clone().into());
[INFO] [stdout] 258 +                     return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:297:36
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 return err_wasmin!(e.clone().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] 297 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 297 +                 return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 297 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 297 +                 return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:300:36
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 return err_wasmin!(e.clone().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] 300 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 300 +                 return err_wasmin!(e.clone());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 300 -                 return err_wasmin!(e.clone().into());
[INFO] [stdout] 300 +                 return err_wasmin!(<WasminError as Into<_>>::into(e.clone()));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `WasminError`
[INFO] [stdout]    --> src/sink/wasm.rs:343:53
[INFO] [stdout]     |
[INFO] [stdout] 343 |             Expression::ExprError(e) => err_wasmin!(e.clone().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] 343 -             Expression::ExprError(e) => err_wasmin!(e.clone().into()),
[INFO] [stdout] 343 +             Expression::ExprError(e) => err_wasmin!(e.clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 343 -             Expression::ExprError(e) => err_wasmin!(e.clone().into()),
[INFO] [stdout] 343 +             Expression::ExprError(e) => err_wasmin!(<WasminError as Into<_>>::into(e.clone())),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sink/wasm_utils.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn to_const(typ: ValType, text: &str) -> Instruction {
[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] 33 | pub fn to_const(typ: ValType, text: &str) -> Instruction<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wasmin` (lib test) due to 6 previous errors; 5 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d", kill_on_drop: false }`
[INFO] [stdout] 45da63035a08d667912c3d9854b5f316472844368f0f93eadae5e2d815e2d91d
