[INFO] cloning repository https://github.com/alexcrichton/l4c
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexcrichton/l4c" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcrichton%2Fl4c", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcrichton%2Fl4c'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e64e1719de50462c82b5175ec9053346ad80c9f4
[INFO] checking alexcrichton/l4c against try#18c1d185ac7a6a3bf399296b35e4b2736809a756 for pr-146972
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexcrichton%2Fl4c" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/alexcrichton/l4c
[INFO] finished tweaking git repo https://github.com/alexcrichton/l4c
[INFO] tweaked toml for git repo https://github.com/alexcrichton/l4c written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alexcrichton/l4c on toolchain 18c1d185ac7a6a3bf399296b35e4b2736809a756
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+18c1d185ac7a6a3bf399296b35e4b2736809a756" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/alexcrichton/l4c 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" "+18c1d185ac7a6a3bf399296b35e4b2736809a756" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/driver/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getopts v0.2.18
[INFO] [stderr]   Downloaded wait-timeout v0.1.5
[INFO] [stderr]   Downloaded winapi-util v0.1.1
[INFO] [stderr]   Downloaded time v0.1.40
[INFO] [stderr]   Downloaded redox_syscall v0.1.40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+18c1d185ac7a6a3bf399296b35e4b2736809a756" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f2105a4afbd918f7cf6f9832c5f2fd6f19525bc3be8e6530061afb2c1da3a0f
[INFO] running `Command { std: "docker" "start" "-a" "5f2105a4afbd918f7cf6f9832c5f2fd6f19525bc3be8e6530061afb2c1da3a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f2105a4afbd918f7cf6f9832c5f2fd6f19525bc3be8e6530061afb2c1da3a0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f2105a4afbd918f7cf6f9832c5f2fd6f19525bc3be8e6530061afb2c1da3a0f", kill_on_drop: false }`
[INFO] [stdout] 5f2105a4afbd918f7cf6f9832c5f2fd6f19525bc3be8e6530061afb2c1da3a0f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+18c1d185ac7a6a3bf399296b35e4b2736809a756" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ddc9854b3ca5bf46d74cd0cd02cecdfc9729f1898b7958ea923dd07c64ce804e
[INFO] running `Command { std: "docker" "start" "-a" "ddc9854b3ca5bf46d74cd0cd02cecdfc9729f1898b7958ea923dd07c64ce804e", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/driver/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking getopts v0.2.18
[INFO] [stderr]     Checking log v0.4.5
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking driver v0.1.0 (/opt/rustwide/workdir/driver)
[INFO] [stdout] warning: field `retry` is never read
[INFO] [stdout]   --> driver/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Driver {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     retry: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `retry` is never read
[INFO] [stdout]   --> driver/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct Driver {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     retry: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking l4c v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/ast.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             try!(write!(f, "{}\n", decl));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     '1' ... '9' => { self.state = Number;  self.cur.push(c); }
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:39
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:59
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |                     '1' ... '9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:25
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:39
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:53
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     '0' ... '9' => { self.cur.push(c); }
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/parser.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let file = try!(errors.codemap_mut().add(Path::new(f)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |             try!(self.f.write_str(part));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             try!(self.f.write_str("\n  "));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             try!(write!(f, "{}", item));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |             if i > 0 { try!(write!(f, ", ")); }
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 try!(write!(f, "{} {}", t, v));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 try!(write!(f, "\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |                     try!(write!(f, " = {}", e));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(write!(f, "while ({}) {{\n", e));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 try!(write!(tab(f), "{}", s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 try!(write!(f, "if ({}) {{\n", e));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 try!(write!(tab(f), "{}", s1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 try!(write!(f, "}} else {{\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 try!(write!(tab(f), "{}", s2));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 try!(write!(f, "for ({}; {}; {}) {{\n", s1, e, s2));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 try!(write!(tab(f), "{}", s3));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 try!(write!(f, "{} ", e1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:150:32
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     Some(o) => try!(write!(f, " {}= ", o)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     None => try!(write!(f, " = ")),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     try!(write!(f, "{} {} (", t, i));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         try!(write!(f, "{} {}", ty, id));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:172:20
[INFO] [stdout]     |
[INFO] [stdout] 172 |         if i > 0 { try!(write!(f, ", ")); }
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 try!(write!(f, "struct {} {{\n", s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |                     try!(write!(f, "  {} {}", ty, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 try!(write!(f, "extern "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 try!(pfun(f, t, s, args));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(write!(f, " {{\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 try!(write!(tab(f), "{}", body));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/ir.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         try!(out.write_all(b"digraph {\n"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/ir.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             try!(f.cfg.dot(out,
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/middle/ir.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 try!(write!(f, "{} <- phi(", tmp));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/middle/ir.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     try!(write!(f, "[ {} - n{} ] ", tmp, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/label.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(f, "{}", prefix()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut FnMut(Temp)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut FnMut(Temp)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new_phi(&self, Temp, PhiMap) -> T;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Temp`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new_phi(&self, Temp, PhiMap) -> T;
[INFO] [stdout]    |                             ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PhiMap`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 try!(write!(f, "# {} <- phi(", tmp));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     try!(write!(f, " [ {} - n{} ] ", tmp, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:385:17
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 try!(write!(f, "# m{} <- phi(", tag));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     try!(write!(f, " [ m{} - n{} ] ", tag, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 try!(write!(f, "{{"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:396:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     try!(write!(f, "({} <= {}) ", k, v));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:498:17
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 try!(write!(f, "({}", o));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:496:21
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     try!(write!(f, "{}", d as i32));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |                         try!(write!(f, ", {}, {}", off, mult));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |         try!(out.write_all(b"digraph {\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:678:13
[INFO] [stdout]     |
[INFO] [stdout] 678 |             try!(f.cfg.dot(out,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:696:13
[INFO] [stdout]     |
[INFO] [stdout] 696 |             try!(f.output(out));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 708 |         try!(write!(out, ".globl {}\n", base));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         try!(write!(out, "{}:\n", base));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 |             try!(write!(out, "L{}:\n", lbl(block)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(write!(out, "  {}\n", ins));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:761:21
[INFO] [stdout]     |
[INFO] [stdout] 761 |                     try!(write!(out, "  jmp L{}\n", lbl(id)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:785:37
[INFO] [stdout]     |
[INFO] [stdout] 785 | ...                   try!(write!(out, "  j{} L{}\n",
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:795:37
[INFO] [stdout]     |
[INFO] [stdout] 795 | ...                   try!(write!(out, "  j{} L{}\n",
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/back/spill.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/back/spill.rs:310:10
[INFO] [stdout]     |
[INFO] [stdout] 310 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             try!(out.write_all(nid(id as NodeId).as_bytes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             try!(out.write_all(b" ["));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |             try!(out.write_all(node(id as NodeId, n).as_bytes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |             try!(out.write_all(b"];\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 try!(out.write_all(nid(id1 as NodeId).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 try!(out.write_all(b" -> "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 try!(out.write_all(nid(id2).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 try!(out.write_all(b" ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(out.write_all(edge(e).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(out.write_all(b"];\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/mark.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         try!(f.read_to_string(&mut self.code));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/mark.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut f = try!(File::open(file));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/utils/mod.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut io::Write) -> io::Result<()>;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/ast.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             try!(write!(f, "{}\n", decl));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     '1' ... '9' => { self.state = Number;  self.cur.push(c); }
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:39
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:307:59
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => {
[INFO] [stdout]     |                                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:322:25
[INFO] [stdout]     |
[INFO] [stdout] 322 |                     '1' ... '9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:25
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:39
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:331:53
[INFO] [stdout]     |
[INFO] [stdout] 331 |                     '0' ... '9' | 'a' ... 'f' | 'A' ... 'F' => {
[INFO] [stdout]     |                                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/front/lexer.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |                     '0' ... '9' => { self.cur.push(c); }
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/parser.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let file = try!(errors.codemap_mut().add(Path::new(f)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |             try!(self.f.write_str(part));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             try!(self.f.write_str("\n  "));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             try!(write!(f, "{}", item));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/front/pp.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |             if i > 0 { try!(write!(f, ", ")); }
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 try!(write!(f, "{} {}", t, v));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 try!(write!(f, "\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |                     try!(write!(f, " = {}", e));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(write!(f, "while ({}) {{\n", e));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 try!(write!(tab(f), "{}", s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 try!(write!(f, "if ({}) {{\n", e));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:137:17
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 try!(write!(tab(f), "{}", s1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 try!(write!(f, "}} else {{\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 try!(write!(tab(f), "{}", s2));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 try!(write!(f, "for ({}; {}; {}) {{\n", s1, e, s2));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 try!(write!(tab(f), "{}", s3));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 try!(write!(f, "{} ", e1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:150:32
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     Some(o) => try!(write!(f, " {}= ", o)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     None => try!(write!(f, " = ")),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     try!(write!(f, "{} {} (", t, i));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         try!(write!(f, "{} {}", ty, id));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:172:20
[INFO] [stdout]     |
[INFO] [stdout] 172 |         if i > 0 { try!(write!(f, ", ")); }
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 try!(write!(f, "struct {} {{\n", s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |                     try!(write!(f, "  {} {}", ty, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |                 try!(write!(f, "extern "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 try!(pfun(f, t, s, args));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(write!(f, " {{\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/front/pp.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 try!(write!(tab(f), "{}", body));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/ir.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         try!(out.write_all(b"digraph {\n"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/ir.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             try!(f.cfg.dot(out,
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/middle/ir.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 try!(write!(f, "{} <- phi(", tmp));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/middle/ir.rs:267:21
[INFO] [stdout]     |
[INFO] [stdout] 267 |                     try!(write!(f, "[ {} - n{} ] ", tmp, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/middle/label.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         try!(write!(f, "{}", prefix()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut FnMut(Temp)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut FnMut(Temp)`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new_phi(&self, Temp, PhiMap) -> T;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Temp`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/middle/ssa.rs:29:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new_phi(&self, Temp, PhiMap) -> T;
[INFO] [stdout]    |                             ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: PhiMap`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 try!(write!(f, "# {} <- phi(", tmp));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:380:21
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     try!(write!(f, " [ {} - n{} ] ", tmp, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:385:17
[INFO] [stdout]     |
[INFO] [stdout] 385 |                 try!(write!(f, "# m{} <- phi(", tag));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     try!(write!(f, " [ m{} - n{} ] ", tag, id));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 394 |                 try!(write!(f, "{{"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:396:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     try!(write!(f, "({} <= {}) ", k, v));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:498:17
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 try!(write!(f, "({}", o));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:496:21
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     try!(write!(f, "{}", d as i32));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:501:25
[INFO] [stdout]     |
[INFO] [stdout] 501 |                         try!(write!(f, ", {}, {}", off, mult));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 676 |         try!(out.write_all(b"digraph {\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:678:13
[INFO] [stdout]     |
[INFO] [stdout] 678 |             try!(f.cfg.dot(out,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:696:13
[INFO] [stdout]     |
[INFO] [stdout] 696 |             try!(f.output(out));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 708 |         try!(write!(out, ".globl {}\n", base));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 709 |         try!(write!(out, "{}:\n", base));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:722:13
[INFO] [stdout]     |
[INFO] [stdout] 722 |             try!(write!(out, "L{}:\n", lbl(block)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:727:17
[INFO] [stdout]     |
[INFO] [stdout] 727 |                 try!(write!(out, "  {}\n", ins));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:761:21
[INFO] [stdout]     |
[INFO] [stdout] 761 |                     try!(write!(out, "  jmp L{}\n", lbl(id)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:785:37
[INFO] [stdout]     |
[INFO] [stdout] 785 | ...                   try!(write!(out, "  j{} L{}\n",
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/back/assem.rs:795:37
[INFO] [stdout]     |
[INFO] [stdout] 795 | ...                   try!(write!(out, "  j{} L{}\n",
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/back/spill.rs:294:10
[INFO] [stdout]     |
[INFO] [stdout] 294 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/back/spill.rs:310:10
[INFO] [stdout]     |
[INFO] [stdout] 310 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |             try!(out.write_all(nid(id as NodeId).as_bytes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut dyn FnMut(Temp));
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |             try!(out.write_all(b" ["));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |             try!(out.write_all(node(id as NodeId, n).as_bytes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |             try!(out.write_all(b"];\n"));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 try!(out.write_all(nid(id1 as NodeId).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 try!(out.write_all(b" -> "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 try!(out.write_all(nid(id2).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 try!(out.write_all(b" ["));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(out.write_all(edge(e).as_bytes()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/utils/graph.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(out.write_all(b"];\n"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut dyn FnMut(Temp));
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/mark.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         try!(f.read_to_string(&mut self.code));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  u: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  u: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/mark.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let mut f = try!(File::open(file));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |                  d: &mut FnMut(Temp) -> Temp);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |                  d: &mut dyn FnMut(Temp) -> Temp);
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut io::Write) -> io::Result<()>;
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut dyn io::Write) -> io::Result<()>;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/utils/mod.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut io::Write) -> io::Result<()>;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut io::Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/front/parser.rs:445:41
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn parse_list<T>(&mut self, f: &mut FnMut(&mut Parser) -> T) -> Vec<T> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn parse_list<T>(&mut self, f: &mut dyn FnMut(&mut Parser) -> T) -> Vec<T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/trans.rs:275:55
[INFO] [stdout]     |
[INFO] [stdout] 275 |     fn with_loop(&mut self, cond: &ast::Expr, f: &mut FnMut(&mut Translator)) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     fn with_loop(&mut self, cond: &ast::Expr, f: &mut dyn FnMut(&mut Translator)) {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:133:56
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn each_postorder(&self, root: NodeId, f: &mut FnMut(&NodeId)) {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn each_postorder(&self, root: NodeId, f: &mut dyn FnMut(&NodeId)) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:138:41
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn map_nodes(&mut self, f: &mut FnMut(NodeId, N) -> N) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn map_nodes(&mut self, f: &mut dyn FnMut(NodeId, N) -> N) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:148:60
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn map_consume_node(&mut self, id: NodeId, f: &mut FnMut(N) -> N) {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn map_consume_node(&mut self, id: NodeId, f: &mut dyn FnMut(N) -> N) {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |                        n: &mut FnMut(NodeId, N) -> N2,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 |                        n: &mut dyn FnMut(NodeId, N) -> N2,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |                        e: &mut FnMut(E) -> E2) -> Graph<N2, E2> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 155 |                        e: &mut dyn FnMut(E) -> E2) -> Graph<N2, E2> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:173:33
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn dot(&self, out: &mut io::Write,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn dot(&self, out: &mut dyn io::Write,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:174:26
[INFO] [stdout]     |
[INFO] [stdout] 174 |                nid: &mut FnMut(NodeId) -> String,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |                nid: &mut dyn FnMut(NodeId) -> String,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |                node: &mut FnMut(NodeId, &N) -> String,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |                node: &mut dyn FnMut(NodeId, &N) -> String,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:176:27
[INFO] [stdout]     |
[INFO] [stdout] 176 |                edge: &mut FnMut(&E) -> String) -> io::Result<()> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |                edge: &mut dyn FnMut(&E) -> String) -> io::Result<()> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ir.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn dot(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn dot(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:218:29
[INFO] [stdout]     |
[INFO] [stdout] 218 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 218 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:219:29
[INFO] [stdout]     |
[INFO] [stdout] 219 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 219 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:223:42
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn each_def(&self, s: &Stmt, f: &mut FnMut(Temp)) { s.each_def(f) }
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn each_def(&self, s: &Stmt, f: &mut dyn FnMut(Temp)) { s.each_def(f) }
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:224:42
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn each_use(&self, s: &Stmt, f: &mut FnMut(Temp)) { s.each_use(f) }
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn each_use(&self, s: &Stmt, f: &mut dyn FnMut(Temp)) { s.each_use(f) }
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:636:59
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn resolve_perm(result: &[u32], incoming: &[u32], f: &mut FnMut(Resolution)) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn resolve_perm(result: &[u32], incoming: &[u32], f: &mut dyn FnMut(Resolution)) {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/back/arch.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn each_caller(f: &mut FnMut(Register)) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn each_caller(f: &mut dyn FnMut(Register)) {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:176:42
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn each_def(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn each_def(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:179:42
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn each_use(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn each_use(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:209:29
[INFO] [stdout]     |
[INFO] [stdout] 209 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:258:42
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn each_def(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn each_def(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn each_use(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn each_use(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 297 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:298:29
[INFO] [stdout]     |
[INFO] [stdout] 298 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 298 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:675:29
[INFO] [stdout]     |
[INFO] [stdout] 675 |     fn dot(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 675 |     fn dot(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/back/precolor.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |                    tmpclone: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |                    tmpclone: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |                      uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                      uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:130:33
[INFO] [stdout]     |
[INFO] [stdout] 130 |                      defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 130 |                      defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:170:36
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn each_def(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn each_def(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn each_use(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn each_use(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:277:41
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:289:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:465:63
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn alloc_ins(&mut self, f: &Function, i: Inst, push: &mut FnMut(Inst)) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn alloc_ins(&mut self, f: &Function, i: Inst, push: &mut dyn FnMut(Inst)) {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     f: &mut FnMut(Inst)){
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     f: &mut dyn FnMut(Inst)){
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:428:37
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:435:41
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:465:37
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:477:33
[INFO] [stdout]     |
[INFO] [stdout] 477 |     fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:694:36
[INFO] [stdout]     |
[INFO] [stdout] 694 |     pub fn output(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 694 |     pub fn output(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:705:32
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn output(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn output(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/spill.rs:581:69
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn my_names(&self, tmp: Temp, from: NodeId, to: NodeId, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn my_names(&self, tmp: Temp, from: NodeId, to: NodeId, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn each_def(&self, ins: &T, &mut dyn FnMut(Temp));
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut FnMut(Temp));
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn each_use(&self, ins: &T, &mut dyn FnMut(Temp));
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  u: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |                  u: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ssa.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |                  d: &mut FnMut(Temp) -> Temp);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |                  d: &mut dyn FnMut(Temp) -> Temp);
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut io::Write) -> io::Result<()>;
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn dot(&self, &mut dyn io::Write) -> io::Result<()>;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/front/parser.rs:445:41
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn parse_list<T>(&mut self, f: &mut FnMut(&mut Parser) -> T) -> Vec<T> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn parse_list<T>(&mut self, f: &mut dyn FnMut(&mut Parser) -> T) -> Vec<T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/trans.rs:275:55
[INFO] [stdout]     |
[INFO] [stdout] 275 |     fn with_loop(&mut self, cond: &ast::Expr, f: &mut FnMut(&mut Translator)) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 275 |     fn with_loop(&mut self, cond: &ast::Expr, f: &mut dyn FnMut(&mut Translator)) {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:133:56
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn each_postorder(&self, root: NodeId, f: &mut FnMut(&NodeId)) {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn each_postorder(&self, root: NodeId, f: &mut dyn FnMut(&NodeId)) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:138:41
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn map_nodes(&mut self, f: &mut FnMut(NodeId, N) -> N) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn map_nodes(&mut self, f: &mut dyn FnMut(NodeId, N) -> N) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:148:60
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn map_consume_node(&mut self, id: NodeId, f: &mut FnMut(N) -> N) {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn map_consume_node(&mut self, id: NodeId, f: &mut dyn FnMut(N) -> N) {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |                        n: &mut FnMut(NodeId, N) -> N2,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 |                        n: &mut dyn FnMut(NodeId, N) -> N2,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |                        e: &mut FnMut(E) -> E2) -> Graph<N2, E2> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 155 |                        e: &mut dyn FnMut(E) -> E2) -> Graph<N2, E2> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:173:33
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn dot(&self, out: &mut io::Write,
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn dot(&self, out: &mut dyn io::Write,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:174:26
[INFO] [stdout]     |
[INFO] [stdout] 174 |                nid: &mut FnMut(NodeId) -> String,
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |                nid: &mut dyn FnMut(NodeId) -> String,
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:175:27
[INFO] [stdout]     |
[INFO] [stdout] 175 |                node: &mut FnMut(NodeId, &N) -> String,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 175 |                node: &mut dyn FnMut(NodeId, &N) -> String,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/utils/graph.rs:176:27
[INFO] [stdout]     |
[INFO] [stdout] 176 |                edge: &mut FnMut(&E) -> String) -> io::Result<()> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |                edge: &mut dyn FnMut(&E) -> String) -> io::Result<()> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/middle/ir.rs:83:29
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn dot(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn dot(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:218:29
[INFO] [stdout]     |
[INFO] [stdout] 218 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 218 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:219:29
[INFO] [stdout]     |
[INFO] [stdout] 219 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 219 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:223:42
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn each_def(&self, s: &Stmt, f: &mut FnMut(Temp)) { s.each_def(f) }
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn each_def(&self, s: &Stmt, f: &mut dyn FnMut(Temp)) { s.each_def(f) }
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:224:42
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn each_use(&self, s: &Stmt, f: &mut FnMut(Temp)) { s.each_use(f) }
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn each_use(&self, s: &Stmt, f: &mut dyn FnMut(Temp)) { s.each_use(f) }
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:636:59
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn resolve_perm(result: &[u32], incoming: &[u32], f: &mut FnMut(Resolution)) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn resolve_perm(result: &[u32], incoming: &[u32], f: &mut dyn FnMut(Resolution)) {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/back/arch.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn each_caller(f: &mut FnMut(Register)) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn each_caller(f: &mut dyn FnMut(Register)) {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:176:42
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn each_def(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn each_def(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:179:42
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn each_use(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn each_use(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:208:29
[INFO] [stdout]     |
[INFO] [stdout] 208 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 208 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:209:29
[INFO] [stdout]     |
[INFO] [stdout] 209 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:258:42
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn each_def(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn each_def(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn each_use(&self, i: &Inst, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn each_use(&self, i: &Inst, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                  uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 297 |                  uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:298:29
[INFO] [stdout]     |
[INFO] [stdout] 298 |                  defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 298 |                  defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:675:29
[INFO] [stdout]     |
[INFO] [stdout] 675 |     fn dot(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 675 |     fn dot(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/back/precolor.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |                    tmpclone: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |                    tmpclone: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |                      uses: &mut FnMut(Temp) -> Temp,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                      uses: &mut dyn FnMut(Temp) -> Temp,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:130:33
[INFO] [stdout]     |
[INFO] [stdout] 130 |                      defs: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 130 |                      defs: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:170:36
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn each_def(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn each_def(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:186:36
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn each_use(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn each_use(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:277:41
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/middle/ir.rs:289:37
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:465:63
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn alloc_ins(&mut self, f: &Function, i: Inst, push: &mut FnMut(Inst)) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn alloc_ins(&mut self, f: &Function, i: Inst, push: &mut dyn FnMut(Inst)) {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/alloc.rs:619:29
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     f: &mut FnMut(Inst)){
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 619 |                     f: &mut dyn FnMut(Inst)){
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:428:37
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:435:41
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:465:37
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn map_temps(&mut self, f: &mut FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 465 |     fn map_temps(&mut self, f: &mut dyn FnMut(Temp) -> Temp) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:477:33
[INFO] [stdout]     |
[INFO] [stdout] 477 |     fn each_temp(&self, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 477 |     fn each_temp(&self, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:694:36
[INFO] [stdout]     |
[INFO] [stdout] 694 |     pub fn output(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 694 |     pub fn output(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/assem.rs:705:32
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn output(&self, out: &mut io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 705 |     fn output(&self, out: &mut dyn io::Write) -> io::Result<()> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/back/spill.rs:581:69
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn my_names(&self, tmp: Temp, from: NodeId, to: NodeId, f: &mut FnMut(Temp)) {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 581 |     fn my_names(&self, tmp: Temp, from: NodeId, to: NodeId, f: &mut dyn FnMut(Temp)) {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/front/pp.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Write};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/front/pp.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Write};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_phi` is never used
[INFO] [stdout]   --> src/middle/ssa.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Statement<T> {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn into_phi(&self, me: T) -> Result<(Temp, PhiMap), T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/back/codegen.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         mem::replace(&mut self.oldtypes, types);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let _ = mem::replace(&mut self.oldtypes, types);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn edges(&self) -> Edges<N, E> {
[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] 109 |     pub fn edges(&self) -> Edges<'_, N, E> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn nodes(&self) -> Nodes<N, E> {
[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] 113 |     pub fn nodes(&self) -> Nodes<'_, N, E> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn preds(&self, n: NodeId) -> Preds<N, E> {
[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] 117 |     pub fn preds(&self, n: NodeId) -> Preds<'_, N, E> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn pred_edges(&self, n: NodeId) -> PredEdges<N, E> {
[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] 121 |     pub fn pred_edges(&self, n: NodeId) -> PredEdges<'_, N, E> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn succ(&self, n: NodeId) -> Succ<N, E> {
[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] 125 |     pub fn succ(&self, n: NodeId) -> Succ<'_, N, E> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn succ_edges(&self, n: NodeId) -> SuccEdges<N, E> {
[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] 129 |     pub fn succ_edges(&self, n: NodeId) -> SuccEdges<'_, N, E> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/temp.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn iter(&self) -> TempBitVecIter {
[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] 110 |     pub fn iter(&self) -> TempBitVecIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/temp.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn iter(&self) -> TempVecMapIter<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] 156 |     pub fn iter(&self) -> TempVecMapIter<'_, T> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/utils/bit_vec.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn iter(&self) -> BitVecIter {
[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] 45 |     pub fn iter(&self) -> BitVecIter<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_phi` is never used
[INFO] [stdout]   --> src/middle/ssa.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Statement<T> {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn into_phi(&self, me: T) -> Result<(Temp, PhiMap), T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> src/back/codegen.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         mem::replace(&mut self.oldtypes, types);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let _ = mem::replace(&mut self.oldtypes, types);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn edges(&self) -> Edges<N, E> {
[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] 109 |     pub fn edges(&self) -> Edges<'_, N, E> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn nodes(&self) -> Nodes<N, E> {
[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] 113 |     pub fn nodes(&self) -> Nodes<'_, N, E> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn preds(&self, n: NodeId) -> Preds<N, E> {
[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] 117 |     pub fn preds(&self, n: NodeId) -> Preds<'_, N, E> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn pred_edges(&self, n: NodeId) -> PredEdges<N, E> {
[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] 121 |     pub fn pred_edges(&self, n: NodeId) -> PredEdges<'_, N, E> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn succ(&self, n: NodeId) -> Succ<N, E> {
[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] 125 |     pub fn succ(&self, n: NodeId) -> Succ<'_, N, E> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/graph.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn succ_edges(&self, n: NodeId) -> SuccEdges<N, E> {
[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] 129 |     pub fn succ_edges(&self, n: NodeId) -> SuccEdges<'_, N, E> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/temp.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn iter(&self) -> TempBitVecIter {
[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] 110 |     pub fn iter(&self) -> TempBitVecIter<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/utils/temp.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub fn iter(&self) -> TempVecMapIter<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] 156 |     pub fn iter(&self) -> TempVecMapIter<'_, T> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/utils/bit_vec.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn iter(&self) -> BitVecIter {
[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] 45 |     pub fn iter(&self) -> BitVecIter<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.00s
[INFO] running `Command { std: "docker" "inspect" "ddc9854b3ca5bf46d74cd0cd02cecdfc9729f1898b7958ea923dd07c64ce804e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddc9854b3ca5bf46d74cd0cd02cecdfc9729f1898b7958ea923dd07c64ce804e", kill_on_drop: false }`
[INFO] [stdout] ddc9854b3ca5bf46d74cd0cd02cecdfc9729f1898b7958ea923dd07c64ce804e
