[INFO] cloning repository https://github.com/gfaster/ir
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gfaster/ir" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgfaster%2Fir", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgfaster%2Fir'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6532d7ec28a5c0768cc6737b9bbcf34474cc480f
[INFO] checking gfaster/ir against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgfaster%2Fir" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/gfaster/ir
[INFO] finished tweaking git repo https://github.com/gfaster/ir
[INFO] tweaked toml for git repo https://github.com/gfaster/ir written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gfaster/ir 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/gfaster/ir 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-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] deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b
[INFO] running `Command { std: "docker" "start" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b", 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" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b", 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" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking syn v2.0.48
[INFO] [stderr]     Checking macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Req(kw::req),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Req(kw::req),
[INFO] [stdout] 28 +     Req(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Set(kw::set),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 29 -     Set(kw::set),
[INFO] [stdout] 29 +     Set(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Used(kw::used),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Used(kw::used),
[INFO] [stdout] 30 +     Used(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `idents` are never read
[INFO] [stdout]   --> macros/src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct SPropIdentLists {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 50 |     ty: SPropIdentListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 51 |     idents: Vec<syn::Ident>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Iset(kw::iset),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 70 -     Iset(kw::iset),
[INFO] [stdout] 70 +     Iset(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Iused(kw::iused),
[INFO] [stdout]    |     ----- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 71 -     Iused(kw::iused),
[INFO] [stdout] 71 +     Iused(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `arr` are never read
[INFO] [stdout]   --> macros/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct SPropExprLists {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 89 |     ty: SPropExprListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 90 |     arr: syn::ExprArray,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Idents(SPropIdentLists),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 104 -     Idents(SPropIdentLists),
[INFO] [stdout] 104 +     Idents(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Expr(SPropExprLists)
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 105 -     Expr(SPropExprLists)
[INFO] [stdout] 105 +     Expr(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> macros/src/lib.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct SPropOverride {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 123 |     inner: SPropOverrideType,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 |     S(SPropOverride),
[INFO] [stdout]     |     - ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 170 -     S(SPropOverride),
[INFO] [stdout] 170 +     S(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Req(kw::req),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Req(kw::req),
[INFO] [stdout] 28 +     Req(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Set(kw::set),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 29 -     Set(kw::set),
[INFO] [stdout] 29 +     Set(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Used(kw::used),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Used(kw::used),
[INFO] [stdout] 30 +     Used(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `idents` are never read
[INFO] [stdout]   --> macros/src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct SPropIdentLists {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 50 |     ty: SPropIdentListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 51 |     idents: Vec<syn::Ident>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Iset(kw::iset),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 70 -     Iset(kw::iset),
[INFO] [stdout] 70 +     Iset(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Iused(kw::iused),
[INFO] [stdout]    |     ----- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 71 -     Iused(kw::iused),
[INFO] [stdout] 71 +     Iused(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `arr` are never read
[INFO] [stdout]   --> macros/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct SPropExprLists {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 89 |     ty: SPropExprListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 90 |     arr: syn::ExprArray,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Idents(SPropIdentLists),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 104 -     Idents(SPropIdentLists),
[INFO] [stdout] 104 +     Idents(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Expr(SPropExprLists)
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 105 -     Expr(SPropExprLists)
[INFO] [stdout] 105 +     Expr(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> macros/src/lib.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct SPropOverride {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 123 |     inner: SPropOverrideType,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 |     S(SPropOverride),
[INFO] [stdout]     |     - ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 170 -     S(SPropOverride),
[INFO] [stdout] 170 +     S(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Req(kw::req),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Req(kw::req),
[INFO] [stdout] 28 +     Req(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Set(kw::set),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 29 -     Set(kw::set),
[INFO] [stdout] 29 +     Set(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Used(kw::used),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 30 -     Used(kw::used),
[INFO] [stdout] 30 +     Used(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `idents` are never read
[INFO] [stdout]   --> macros/src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct SPropIdentLists {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 50 |     ty: SPropIdentListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 51 |     idents: Vec<syn::Ident>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropIdentLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 |     Iset(kw::iset),
[INFO] [stdout]    |     ---- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 70 -     Iset(kw::iset),
[INFO] [stdout] 70 +     Iset(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> macros/src/lib.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Iused(kw::iused),
[INFO] [stdout]    |     ----- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprListsType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 71 -     Iused(kw::iused),
[INFO] [stdout] 71 +     Iused(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `arr` are never read
[INFO] [stdout]   --> macros/src/lib.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct SPropExprLists {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 89 |     ty: SPropExprListsType,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 90 |     arr: syn::ExprArray,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SPropExprLists` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Idents(SPropIdentLists),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 104 -     Idents(SPropIdentLists),
[INFO] [stdout] 104 +     Idents(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:105:10
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Expr(SPropExprLists)
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverrideType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 105 -     Expr(SPropExprLists)
[INFO] [stdout] 105 +     Expr(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inner` is never read
[INFO] [stdout]    --> macros/src/lib.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct SPropOverride {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 123 |     inner: SPropOverrideType,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SPropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> macros/src/lib.rs:170:7
[INFO] [stdout]     |
[INFO] [stdout] 170 |     S(SPropOverride),
[INFO] [stdout]     |     - ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropOverride` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 170 -     S(SPropOverride),
[INFO] [stdout] 170 +     S(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ir v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/tagged_ptr.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 186 -                 .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout] 186 +                 .try_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<usize>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/tagged_ptr.rs:186:18
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 186 -                 .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout] 186 +                 .try_update(Ordering::Relaxed, Ordering::Relaxed, |seed| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/instr.rs:538:25
[INFO] [stdout]     |
[INFO] [stdout] 538 |         std::iter::once(self.id.into()).chain(&self.args)
[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] 538 -         std::iter::once(self.id.into()).chain(&self.args)
[INFO] [stdout] 538 +         std::iter::once(self.id).chain(&self.args)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 538 -         std::iter::once(self.id.into()).chain(&self.args)
[INFO] [stdout] 538 +         std::iter::once(<ValueHandle as Into<_>>::into(self.id)).chain(&self.args)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/parse.rs:801:34
[INFO] [stdout]     |
[INFO] [stdout] 801 | ...                   ptr: idents.lookup(reg).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] 801 -                             ptr: idents.lookup(reg).into(),
[INFO] [stdout] 801 +                             ptr: idents.lookup(reg),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 801 -                             ptr: idents.lookup(reg).into(),
[INFO] [stdout] 801 +                             ptr: <ValueHandle as Into<_>>::into(idents.lookup(reg)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ty::Type`
[INFO] [stdout]    --> src/parse.rs:809:53
[INFO] [stdout]     |
[INFO] [stdout] 809 |                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[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] 809 -                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[INFO] [stdout] 809 +                         OpInner::from_binary_op(op, ty, op1, op2)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 809 -                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[INFO] [stdout] 809 +                         OpInner::from_binary_op(op, <ty::Type as Into<_>>::into(ty), op1, op2)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/parse.rs:876:22
[INFO] [stdout]     |
[INFO] [stdout] 876 |                 dst: idents.lookup(dst).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] 876 -                 dst: idents.lookup(dst).into(),
[INFO] [stdout] 876 +                 dst: idents.lookup(dst),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 876 -                 dst: idents.lookup(dst).into(),
[INFO] [stdout] 876 +                 dst: <ValueHandle as Into<_>>::into(idents.lookup(dst)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/instr.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn iter(&self) -> ArgListIter {
[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] 205 |     fn iter(&self) -> ArgListIter<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/instr.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn iter(&self) -> BindListIter {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn iter(&self) -> BindListIter<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/appendvec.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn iter(&self) -> AppendVecIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn iter(&self) -> AppendVecIter<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/appendvec.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter_mut(&mut self) -> AppendVecIterMut<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter_mut(&mut self) -> AppendVecIterMut<'_, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn get_root(&self) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn get_root(&self) -> DagRef<'_, T> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn push(&self, item: T) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn push(&self, item: T) -> DagRef<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn iter(&self) -> DagIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn iter(&self) -> DagIter<'_, T> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:243:16
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_ref(&self, idx: Idx) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_ref(&self, idx: Idx) -> DagRef<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn to_ref<T>(self, dag: &Dag<T>) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn to_ref<T>(self, dag: &Dag<T>) -> DagRef<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn push_back(&self, item: T) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn push_back(&self, item: T) -> Ref<'_, T> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn push_front(&self, item: T) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn push_front(&self, item: T) -> Ref<'_, T> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn head(&self) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn head(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn iter(&self) -> NodeIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn iter(&self) -> NodeIter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn tail(&self) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn tail(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:416:49
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub unsafe fn promote_unchecked(self, list: &List<T>) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub unsafe fn promote_unchecked(self, list: &List<T>) -> Ref<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:423:36
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn try_promote(self, list: &List<T>) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn try_promote(self, list: &List<T>) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value.rs:199:23
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn block_iter(&self) -> impl Iterator<Item = Block> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn block_iter(&self) -> impl Iterator<Item = Block<'_>> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn internal_deref(&self, iref: InternalHandle) -> list::Ref<Value> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn internal_deref(&self, iref: InternalHandle) -> list::Ref<'_, Value> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ir` (bin "ir") due to 4 previous errors; 19 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/instr.rs:538:25
[INFO] [stdout]     |
[INFO] [stdout] 538 |         std::iter::once(self.id.into()).chain(&self.args)
[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] 538 -         std::iter::once(self.id.into()).chain(&self.args)
[INFO] [stdout] 538 +         std::iter::once(self.id).chain(&self.args)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 538 -         std::iter::once(self.id.into()).chain(&self.args)
[INFO] [stdout] 538 +         std::iter::once(<ValueHandle as Into<_>>::into(self.id)).chain(&self.args)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/parse.rs:801:34
[INFO] [stdout]     |
[INFO] [stdout] 801 | ...                   ptr: idents.lookup(reg).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] 801 -                             ptr: idents.lookup(reg).into(),
[INFO] [stdout] 801 +                             ptr: idents.lookup(reg),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 801 -                             ptr: idents.lookup(reg).into(),
[INFO] [stdout] 801 +                             ptr: <ValueHandle as Into<_>>::into(idents.lookup(reg)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ty::Type`
[INFO] [stdout]    --> src/parse.rs:809:53
[INFO] [stdout]     |
[INFO] [stdout] 809 |                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[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] 809 -                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[INFO] [stdout] 809 +                         OpInner::from_binary_op(op, ty, op1, op2)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 809 -                         OpInner::from_binary_op(op, ty.into(), op1, op2)
[INFO] [stdout] 809 +                         OpInner::from_binary_op(op, <ty::Type as Into<_>>::into(ty), op1, op2)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ValueHandle`
[INFO] [stdout]    --> src/parse.rs:876:22
[INFO] [stdout]     |
[INFO] [stdout] 876 |                 dst: idents.lookup(dst).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] 876 -                 dst: idents.lookup(dst).into(),
[INFO] [stdout] 876 +                 dst: idents.lookup(dst),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 876 -                 dst: idents.lookup(dst).into(),
[INFO] [stdout] 876 +                 dst: <ValueHandle as Into<_>>::into(idents.lookup(dst)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/instr.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn iter(&self) -> ArgListIter {
[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] 205 |     fn iter(&self) -> ArgListIter<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/instr.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn iter(&self) -> BindListIter {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn iter(&self) -> BindListIter<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/appendvec.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn iter(&self) -> AppendVecIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn iter(&self) -> AppendVecIter<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/appendvec.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter_mut(&mut self) -> AppendVecIterMut<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter_mut(&mut self) -> AppendVecIterMut<'_, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:202:21
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn get_root(&self) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn get_root(&self) -> DagRef<'_, T> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn push(&self, item: T) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn push(&self, item: T) -> DagRef<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn iter(&self) -> DagIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn iter(&self) -> DagIter<'_, T> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:243:16
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_ref(&self, idx: Idx) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn get_ref(&self, idx: Idx) -> DagRef<'_, T> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/edag.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn to_ref<T>(self, dag: &Dag<T>) -> DagRef<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     fn to_ref<T>(self, dag: &Dag<T>) -> DagRef<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn push_back(&self, item: T) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn push_back(&self, item: T) -> Ref<'_, T> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn push_front(&self, item: T) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub fn push_front(&self, item: T) -> Ref<'_, T> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn head(&self) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn head(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn iter(&self) -> NodeIter<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub fn iter(&self) -> NodeIter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn tail(&self) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn tail(&self) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:416:49
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub unsafe fn promote_unchecked(self, list: &List<T>) -> Ref<T> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub unsafe fn promote_unchecked(self, list: &List<T>) -> Ref<'_, T> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:423:36
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn try_promote(self, list: &List<T>) -> Option<Ref<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn try_promote(self, list: &List<T>) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value.rs:199:23
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn block_iter(&self) -> impl Iterator<Item = Block> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn block_iter(&self) -> impl Iterator<Item = Block<'_>> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn internal_deref(&self, iref: InternalHandle) -> list::Ref<Value> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn internal_deref(&self, iref: InternalHandle) -> list::Ref<'_, Value> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ir` (bin "ir" test) due to 4 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b", kill_on_drop: false }`
[INFO] [stdout] deb573cce2e169399888a6b96e97ae51cecec0693d94322648f191897d7c487b
