[INFO] cloning repository https://github.com/lars-t-hansen/pl0
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lars-t-hansen/pl0" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flars-t-hansen%2Fpl0", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flars-t-hansen%2Fpl0'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7e54fa1e22f3e3a5adb3c32fccc84b6e3e290483
[INFO] testing lars-t-hansen/pl0 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flars-t-hansen%2Fpl0" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lars-t-hansen/pl0
[INFO] finished tweaking git repo https://github.com/lars-t-hansen/pl0
[INFO] tweaked toml for git repo https://github.com/lars-t-hansen/pl0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lars-t-hansen/pl0 on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lars-t-hansen/pl0 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bfed265599eb8334ffb758f6f97179960c7699a68fa044ad865d094f8e902a15
[INFO] running `Command { std: "docker" "start" "-a" "bfed265599eb8334ffb758f6f97179960c7699a68fa044ad865d094f8e902a15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bfed265599eb8334ffb758f6f97179960c7699a68fa044ad865d094f8e902a15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfed265599eb8334ffb758f6f97179960c7699a68fa044ad865d094f8e902a15", kill_on_drop: false }`
[INFO] [stdout] bfed265599eb8334ffb758f6f97179960c7699a68fa044ad865d094f8e902a15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3c6fbbdc0381d5ede1473016b504afbf2dc9098b31a1127e5fda9b5f31bd504
[INFO] running `Command { std: "docker" "start" "-a" "b3c6fbbdc0381d5ede1473016b504afbf2dc9098b31a1127e5fda9b5f31bd504", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling pl0 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lex.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |             c @ '0' ... '9' | c @ '.' => self.num_literal(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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:223:27
[INFO] [stdout]     |
[INFO] [stdout] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:27
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:47
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/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/parse.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     vars.push(try!(self.vardefn(t)));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:76:30
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     fns.push(try!(self.fundefn()));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         try!(self.match_token(Token::Semi));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let ty = try!(self.token_to_type(t));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let name = try!(self.match_ident());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(self.match_token(Token::LParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(self.match_token(Token::RParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         try!(self.match_token(Token::LBRACE));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let name = try!(self.match_ident());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let ty = try!(self.token_to_type(t));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let name = try!(self.match_ident());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 try!(self.token_to_type(t))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:118:20
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let body = try!(self.block_stmt());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 try!(self.match_token(Token::Semi));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let e = try!(self.expr());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:153:51
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     phrases.push(VarDefnStmt::new(try!(self.vardefn(t))))
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     phrases.push(try!(self.stmt()));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let e = try!(self.paren_expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let s1 = try!(self.stmt());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:169:22
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 Some(try!(self.stmt()))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |             try!(self.match_token(Token::Semi));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |             let e = try!(self.expr());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let e = try!(self.paren_expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let s = try!(self.stmt());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         try!(self.match_token(Token::LParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         try!(self.match_token(Token::RParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let e = try!(self.expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:210:23
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut lhs = try!(self.or_expr());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:212:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |             let rhs = try!(self.assign_expr());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stdout]     |     -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stdout]     |     -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |             Ok(UnaryExpr::new(Unop::Negate, try!(self.un_expr())))
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:240:42
[INFO] [stdout]     |
[INFO] [stdout] 240 |             Ok(UnaryExpr::new(Unop::Not, try!(self.un_expr())))
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     try!(self.match_token(Token::RParen));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:253:37
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   let e = try!(self.expr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:267:48
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Ok(UnaryExpr::new(Unop::ToInt, try!(self.paren_expr())))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:270:48
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Ok(UnaryExpr::new(Unop::ToNum, try!(self.paren_expr())))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 try!(self.match_token(Token::RParen));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let expr = try!(self.expr());
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let returns = try!(self.check_stmt(&f.body));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 try!(self.check_expr(&s.expr));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:162:26
[INFO] [stdout]     |
[INFO] [stdout] 162 |             res = res || try!(self.check_stmt(&s));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(self.check_int(t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 try!(self.check_stmt(&stmt.consequent));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 let a = try!(self.check_stmt(&stmt.consequent));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 let b = try!(self.check_stmt(alternate));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         try!(self.check_int(t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         try!(self.check_stmt(&stmt.body));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         try!(self.check_same(self.ret, t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 Some(ref e) => try!(self.check_expr(e)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:208:25
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let t = try!(self.check_expr(&u.expr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         try!(self.check_int_or_num(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:215:25
[INFO] [stdout]     |
[INFO] [stdout] 215 |                         try!(self.check_int(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:219:25
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         try!(self.check_num(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         try!(self.check_int(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let tl = try!(self.check_expr(&b.lhs));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:231:26
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let tr = try!(self.check_expr(&b.rhs));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         try!(self.check_int_or_num(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:235:25
[INFO] [stdout]     |
[INFO] [stdout] 235 |                         try!(self.check_int_or_num(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |                         try!(self.check_same(tl, tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         try!(self.check_int_or_num(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:242:25
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         try!(self.check_int_or_num(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:243:25
[INFO] [stdout]     |
[INFO] [stdout] 243 |                         try!(self.check_same(tl, tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |                         try!(self.check_int(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |                         try!(self.check_int(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 try!(self.check_same(tl, tr));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:255:26
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let tl = try!(self.lookup_var(&a.name));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 let tr = try!(self.check_expr(&a.expr));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:263:28
[INFO] [stdout]     |
[INFO] [stdout] 263 |                 let sign = try!(self.lookup_fn(&c.name));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |                     try!(self.check_same(ta, sign.formals[k]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let ta = try!(self.check_expr(&c.args[k]));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 let t = try!(self.lookup_var(&v.name));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]  --> src/err.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ParseErr
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 3 | {
[INFO] [stdout] 4 |     pub msg: String
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entry_block`, `exit_block`, and `ir` are never read
[INFO] [stdout]   --> src/ir.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Fun
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub entry_block: Label,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub exit_block: Label,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub ir: Vec<IR>
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fun` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev` is never read
[INFO] [stdout]   --> src/ir.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct IR {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] 72 |     pub op: Op,
[INFO] [stdout] 73 |     pub prev: Val,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IR` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Block(Option<BlockInfo>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 86 -     Block(Option<BlockInfo>),
[INFO] [stdout] 86 +     Block(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Literal(Lit),               // Has result
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 89 -     Literal(Lit),               // Has result
[INFO] [stdout] 89 +     Literal(()),               // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Incoming(Arg),              // Has result
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 90 -     Incoming(Arg),              // Has result
[INFO] [stdout] 90 +     Incoming(()),              // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |     GetLocal(Local),            // Has result
[INFO] [stdout]    |     -------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 91 -     GetLocal(Local),            // Has result
[INFO] [stdout] 91 +     GetLocal(()),            // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |     SetLocal(Local, Val),
[INFO] [stdout]    |     -------- ^^^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 92 -     SetLocal(Local, Val),
[INFO] [stdout] 92 +     SetLocal((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 |     GetGlobal(Global),          // Has result
[INFO] [stdout]    |     --------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     GetGlobal(Global),          // Has result
[INFO] [stdout] 93 +     GetGlobal(()),          // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     SetGlobal(Global, Val),
[INFO] [stdout]    |     --------- ^^^^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 94 -     SetGlobal(Global, Val),
[INFO] [stdout] 94 +     SetGlobal((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ir.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Op2(O2, Val, Val),          // Has result
[INFO] [stdout]    |     --- ^^  ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Op2(O2, Val, Val),          // Has result
[INFO] [stdout] 95 +     Op2((), (), ()),          // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     Op1(O1, Val),               // Has result
[INFO] [stdout]    |     --- ^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 96 -     Op1(O1, Val),               // Has result
[INFO] [stdout] 96 +     Op1((), ()),               // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout]    |     ---- ^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 97 -     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout] 97 +     Call((), ()),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]   --> src/ir.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Jcc(OB, Val, Label, Label),
[INFO] [stdout]    |     --- ^^  ^^^  ^^^^^  ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 98 -     Jcc(OB, Val, Label, Label),
[INFO] [stdout] 98 +     Jcc((), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Jump(Label),
[INFO] [stdout]    |     ---- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 99 -     Jump(Label),
[INFO] [stdout] 99 +     Jump(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ir.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     ReturnVal(Val, Label),
[INFO] [stdout]     |     --------- ^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 100 -     ReturnVal(Val, Label),
[INFO] [stdout] 100 +     ReturnVal((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |     ReturnVoid(Label)
[INFO] [stdout]     |     ---------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     ReturnVoid(Label)
[INFO] [stdout] 101 +     ReturnVoid(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Nop` and `Notreached` are never constructed
[INFO] [stdout]   --> src/ir.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub enum Op {
[INFO] [stdout]    |          -- variants in this enum
[INFO] [stdout] 86 |     Block(Option<BlockInfo>),
[INFO] [stdout] 87 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 88 |     Notreached,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |     I(i64),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 127 -     I(i64),
[INFO] [stdout] 127 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |     N(f64)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 128 -     N(f64)
[INFO] [stdout] 128 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |     I(u32),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     I(u32),
[INFO] [stdout] 133 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |     N(u32)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 134 -     N(u32)
[INFO] [stdout] 134 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |     I(u32),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 139 -     I(u32),
[INFO] [stdout] 139 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 |     N(u32)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 140 -     N(u32)
[INFO] [stdout] 140 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 |     I(Name),
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 145 -     I(Name),
[INFO] [stdout] 145 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 |     N(Name),
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 146 -     N(Name),
[INFO] [stdout] 146 +     N(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 |     V(Name)                 // Void
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 147 -     V(Name)                 // Void
[INFO] [stdout] 147 +     V(())                 // Void
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `nop` and `notreached` are never used
[INFO] [stdout]    --> src/irgen.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl FunGen
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn nop(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn notreached(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]   --> src/names.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl NameTable
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn lookup(&self, id:Name) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.13s
[INFO] running `Command { std: "docker" "inspect" "b3c6fbbdc0381d5ede1473016b504afbf2dc9098b31a1127e5fda9b5f31bd504", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3c6fbbdc0381d5ede1473016b504afbf2dc9098b31a1127e5fda9b5f31bd504", kill_on_drop: false }`
[INFO] [stdout] b3c6fbbdc0381d5ede1473016b504afbf2dc9098b31a1127e5fda9b5f31bd504
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 542536153f537cb89055bf28fcbb73e9900b29ac6e65c990a2ad6233405c29a1
[INFO] running `Command { std: "docker" "start" "-a" "542536153f537cb89055bf28fcbb73e9900b29ac6e65c990a2ad6233405c29a1", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling pl0 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lex.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |             c @ '0' ... '9' | c @ '.' => self.num_literal(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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:223:27
[INFO] [stdout]     |
[INFO] [stdout] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:27
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/lex.rs:237:47
[INFO] [stdout]     |
[INFO] [stdout] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[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/nightly/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/parse.rs:73:31
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     vars.push(try!(self.vardefn(t)));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:76:30
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     fns.push(try!(self.fundefn()));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         try!(self.match_token(Token::Semi));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:89:18
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let ty = try!(self.token_to_type(t));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:90:20
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let name = try!(self.match_ident());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         try!(self.match_token(Token::LParen));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(self.match_token(Token::RParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |         try!(self.match_token(Token::LBRACE));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parse.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let name = try!(self.match_ident());
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let ty = try!(self.token_to_type(t));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let name = try!(self.match_ident());
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 try!(self.token_to_type(t))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:118:20
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let body = try!(self.block_stmt());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 try!(self.match_token(Token::Semi));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let e = try!(self.expr());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:153:51
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     phrases.push(VarDefnStmt::new(try!(self.vardefn(t))))
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     phrases.push(try!(self.stmt()));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let e = try!(self.paren_expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let s1 = try!(self.stmt());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:169:22
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 Some(try!(self.stmt()))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |             try!(self.match_token(Token::Semi));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:181:21
[INFO] [stdout]     |
[INFO] [stdout] 181 |             let e = try!(self.expr());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let e = try!(self.paren_expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let s = try!(self.stmt());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         try!(self.match_token(Token::LParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |         try!(self.match_token(Token::RParen));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let e = try!(self.expr());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:210:23
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut lhs = try!(self.or_expr());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:212:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |             let rhs = try!(self.assign_expr());
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stdout]     |     ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stdout]     |     -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stdout]     |     -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stdout]     |     ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:38:27
[INFO] [stdout]     |
[INFO] [stdout] 38  |             let mut lhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:44:27
[INFO] [stdout]     |
[INFO] [stdout] 44  |                 let rhs = try!(self.$next());
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |             Ok(UnaryExpr::new(Unop::Negate, try!(self.un_expr())))
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:240:42
[INFO] [stdout]     |
[INFO] [stdout] 240 |             Ok(UnaryExpr::new(Unop::Not, try!(self.un_expr())))
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:260:21
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     try!(self.match_token(Token::RParen));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:253:37
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   let e = try!(self.expr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:267:48
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 Ok(UnaryExpr::new(Unop::ToInt, try!(self.paren_expr())))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:270:48
[INFO] [stdout]     |
[INFO] [stdout] 270 |                 Ok(UnaryExpr::new(Unop::ToNum, try!(self.paren_expr())))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |                 try!(self.match_token(Token::RParen));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parse.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 let expr = try!(self.expr());
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:123:23
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let returns = try!(self.check_stmt(&f.body));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 try!(self.check_expr(&s.expr));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:162:26
[INFO] [stdout]     |
[INFO] [stdout] 162 |             res = res || try!(self.check_stmt(&s));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(self.check_int(t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 try!(self.check_stmt(&stmt.consequent));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:177:25
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 let a = try!(self.check_stmt(&stmt.consequent));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:178:25
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 let b = try!(self.check_stmt(alternate));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         try!(self.check_int(t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         try!(self.check_stmt(&stmt.body));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 197 |         try!(self.check_same(self.ret, t));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 Some(ref e) => try!(self.check_expr(e)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:208:25
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let t = try!(self.check_expr(&u.expr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         try!(self.check_int_or_num(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:215:25
[INFO] [stdout]     |
[INFO] [stdout] 215 |                         try!(self.check_int(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:219:25
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         try!(self.check_num(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         try!(self.check_int(t));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let tl = try!(self.check_expr(&b.lhs));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:231:26
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 let tr = try!(self.check_expr(&b.rhs));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:234:25
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         try!(self.check_int_or_num(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:235:25
[INFO] [stdout]     |
[INFO] [stdout] 235 |                         try!(self.check_int_or_num(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:236:25
[INFO] [stdout]     |
[INFO] [stdout] 236 |                         try!(self.check_same(tl, tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         try!(self.check_int_or_num(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:242:25
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         try!(self.check_int_or_num(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:243:25
[INFO] [stdout]     |
[INFO] [stdout] 243 |                         try!(self.check_same(tl, tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |                         try!(self.check_int(tl));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |                         try!(self.check_int(tr));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 try!(self.check_same(tl, tr));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:255:26
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let tl = try!(self.lookup_var(&a.name));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 let tr = try!(self.check_expr(&a.expr));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:263:28
[INFO] [stdout]     |
[INFO] [stdout] 263 |                 let sign = try!(self.lookup_fn(&c.name));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |                     try!(self.check_same(ta, sign.formals[k]));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     let ta = try!(self.check_expr(&c.args[k]));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/tycheck.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 let t = try!(self.lookup_var(&v.name));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]  --> src/err.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ParseErr
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 3 | {
[INFO] [stdout] 4 |     pub msg: String
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entry_block`, `exit_block`, and `ir` are never read
[INFO] [stdout]   --> src/ir.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Fun
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub entry_block: Label,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub exit_block: Label,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub ir: Vec<IR>
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fun` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev` is never read
[INFO] [stdout]   --> src/ir.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct IR {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] 72 |     pub op: Op,
[INFO] [stdout] 73 |     pub prev: Val,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IR` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 |     Block(Option<BlockInfo>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 86 -     Block(Option<BlockInfo>),
[INFO] [stdout] 86 +     Block(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Literal(Lit),               // Has result
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 89 -     Literal(Lit),               // Has result
[INFO] [stdout] 89 +     Literal(()),               // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Incoming(Arg),              // Has result
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 90 -     Incoming(Arg),              // Has result
[INFO] [stdout] 90 +     Incoming(()),              // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |     GetLocal(Local),            // Has result
[INFO] [stdout]    |     -------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 91 -     GetLocal(Local),            // Has result
[INFO] [stdout] 91 +     GetLocal(()),            // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |     SetLocal(Local, Val),
[INFO] [stdout]    |     -------- ^^^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 92 -     SetLocal(Local, Val),
[INFO] [stdout] 92 +     SetLocal((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 |     GetGlobal(Global),          // Has result
[INFO] [stdout]    |     --------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     GetGlobal(Global),          // Has result
[INFO] [stdout] 93 +     GetGlobal(()),          // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 |     SetGlobal(Global, Val),
[INFO] [stdout]    |     --------- ^^^^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 94 -     SetGlobal(Global, Val),
[INFO] [stdout] 94 +     SetGlobal((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ir.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Op2(O2, Val, Val),          // Has result
[INFO] [stdout]    |     --- ^^  ^^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Op2(O2, Val, Val),          // Has result
[INFO] [stdout] 95 +     Op2((), (), ()),          // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     Op1(O1, Val),               // Has result
[INFO] [stdout]    |     --- ^^  ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 96 -     Op1(O1, Val),               // Has result
[INFO] [stdout] 96 +     Op1((), ()),               // Has result
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ir.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout]    |     ---- ^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 97 -     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout] 97 +     Call((), ()),     // Has optional result.  The Global indicates the return type.
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stdout]   --> src/ir.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Jcc(OB, Val, Label, Label),
[INFO] [stdout]    |     --- ^^  ^^^  ^^^^^  ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 98 -     Jcc(OB, Val, Label, Label),
[INFO] [stdout] 98 +     Jcc((), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir.rs:99:10
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Jump(Label),
[INFO] [stdout]    |     ---- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 99 -     Jump(Label),
[INFO] [stdout] 99 +     Jump(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ir.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     ReturnVal(Val, Label),
[INFO] [stdout]     |     --------- ^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 100 -     ReturnVal(Val, Label),
[INFO] [stdout] 100 +     ReturnVal((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:101:16
[INFO] [stdout]     |
[INFO] [stdout] 101 |     ReturnVoid(Label)
[INFO] [stdout]     |     ---------- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     ReturnVoid(Label)
[INFO] [stdout] 101 +     ReturnVoid(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Nop` and `Notreached` are never constructed
[INFO] [stdout]   --> src/ir.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub enum Op {
[INFO] [stdout]    |          -- variants in this enum
[INFO] [stdout] 86 |     Block(Option<BlockInfo>),
[INFO] [stdout] 87 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 88 |     Notreached,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 |     I(i64),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 127 -     I(i64),
[INFO] [stdout] 127 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 |     N(f64)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 128 -     N(f64)
[INFO] [stdout] 128 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 |     I(u32),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     I(u32),
[INFO] [stdout] 133 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:134:7
[INFO] [stdout]     |
[INFO] [stdout] 134 |     N(u32)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 134 -     N(u32)
[INFO] [stdout] 134 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |     I(u32),
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 139 -     I(u32),
[INFO] [stdout] 139 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 |     N(u32)
[INFO] [stdout]     |     - ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 140 -     N(u32)
[INFO] [stdout] 140 +     N(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 |     I(Name),
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 145 -     I(Name),
[INFO] [stdout] 145 +     I(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 |     N(Name),
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 146 -     N(Name),
[INFO] [stdout] 146 +     N(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ir.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 |     V(Name)                 // Void
[INFO] [stdout]     |     - ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 147 -     V(Name)                 // Void
[INFO] [stdout] 147 +     V(())                 // Void
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `nop` and `notreached` are never used
[INFO] [stdout]    --> src/irgen.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 35  | impl FunGen
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn nop(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn notreached(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]   --> src/names.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl NameTable
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn lookup(&self, id:Name) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] running `Command { std: "docker" "inspect" "542536153f537cb89055bf28fcbb73e9900b29ac6e65c990a2ad6233405c29a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "542536153f537cb89055bf28fcbb73e9900b29ac6e65c990a2ad6233405c29a1", kill_on_drop: false }`
[INFO] [stdout] 542536153f537cb89055bf28fcbb73e9900b29ac6e65c990a2ad6233405c29a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6f5cdb37668dfda298070f5542c656d49883616d1835df990a0f2757c0c51b9a
[INFO] running `Command { std: "docker" "start" "-a" "6f5cdb37668dfda298070f5542c656d49883616d1835df990a0f2757c0c51b9a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/lex.rs:96:21
[INFO] [stderr]    |
[INFO] [stderr] 96 |             c @ '0' ... '9' | c @ '.' => self.num_literal(c),
[INFO] [stderr]    |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:223:13
[INFO] [stderr]     |
[INFO] [stderr] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:223:27
[INFO] [stderr]     |
[INFO] [stderr] 223 |         'a' ... 'z' | 'A' ... 'Z' | '_' => true,
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:230:13
[INFO] [stderr]     |
[INFO] [stderr] 230 |         '0' ... '9' => true,
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:237:13
[INFO] [stderr]     |
[INFO] [stderr] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:237:27
[INFO] [stderr]     |
[INFO] [stderr] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/lex.rs:237:47
[INFO] [stderr]     |
[INFO] [stderr] 237 |         'a' ... 'z' | 'A' ... 'Z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:73:31
[INFO] [stderr]    |
[INFO] [stderr] 73 |                     vars.push(try!(self.vardefn(t)));
[INFO] [stderr]    |                               ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:76:30
[INFO] [stderr]    |
[INFO] [stderr] 76 |                     fns.push(try!(self.fundefn()));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:91:9
[INFO] [stderr]    |
[INFO] [stderr] 91 |         try!(self.match_token(Token::Semi));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:89:18
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let ty = try!(self.token_to_type(t));
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:90:20
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let name = try!(self.match_ident());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |         try!(self.match_token(Token::LParen));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:109:9
[INFO] [stderr]     |
[INFO] [stderr] 109 |         try!(self.match_token(Token::RParen));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:117:9
[INFO] [stderr]     |
[INFO] [stderr] 117 |         try!(self.match_token(Token::LBRACE));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parse.rs:97:20
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let name = try!(self.match_ident());
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:102:22
[INFO] [stderr]     |
[INFO] [stderr] 102 |             let ty = try!(self.token_to_type(t));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:103:24
[INFO] [stderr]     |
[INFO] [stderr] 103 |             let name = try!(self.match_ident());
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:113:17
[INFO] [stderr]     |
[INFO] [stderr] 113 |                 try!(self.token_to_type(t))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:118:20
[INFO] [stderr]     |
[INFO] [stderr] 118 |         let body = try!(self.block_stmt());
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 try!(self.match_token(Token::Semi));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:133:25
[INFO] [stderr]     |
[INFO] [stderr] 133 |                 let e = try!(self.expr());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:153:51
[INFO] [stderr]     |
[INFO] [stderr] 153 |                     phrases.push(VarDefnStmt::new(try!(self.vardefn(t))))
[INFO] [stderr]     |                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:157:34
[INFO] [stderr]     |
[INFO] [stderr] 157 |                     phrases.push(try!(self.stmt()));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:165:17
[INFO] [stderr]     |
[INFO] [stderr] 165 |         let e = try!(self.paren_expr());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:166:18
[INFO] [stderr]     |
[INFO] [stderr] 166 |         let s1 = try!(self.stmt());
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:169:22
[INFO] [stderr]     |
[INFO] [stderr] 169 |                 Some(try!(self.stmt()))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:182:13
[INFO] [stderr]     |
[INFO] [stderr] 182 |             try!(self.match_token(Token::Semi));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:181:21
[INFO] [stderr]     |
[INFO] [stderr] 181 |             let e = try!(self.expr());
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let e = try!(self.paren_expr());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:190:17
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let s = try!(self.stmt());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 197 |         try!(self.match_token(Token::LParen));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |         try!(self.match_token(Token::RParen));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:198:17
[INFO] [stderr]     |
[INFO] [stderr] 198 |         let e = try!(self.expr());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:210:23
[INFO] [stderr]     |
[INFO] [stderr] 210 |         let mut lhs = try!(self.or_expr());
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:212:23
[INFO] [stderr]     |
[INFO] [stderr] 212 |             let rhs = try!(self.assign_expr());
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 229 |     binop_left! { or_expr, and_expr, OR }
[INFO] [stderr]     |     ------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stderr]     |     -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     binop_left! { and_expr, eq_expr, AND }
[INFO] [stderr]     |     -------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stderr]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |     binop_left! { eq_expr, cmp_expr, EQUALS, NOTEQUALS }
[INFO] [stderr]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stderr]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 232 |     binop_left! { cmp_expr, add_expr, LESS, LESSEQ, GREATER, GREATEREQ }
[INFO] [stderr]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stderr]     |     ----------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     binop_left! { add_expr, mul_expr, PLUS, MINUS }
[INFO] [stderr]     |     ----------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:38:27
[INFO] [stderr]     |
[INFO] [stderr] 38  |             let mut lhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stderr]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:44:27
[INFO] [stderr]     |
[INFO] [stderr] 44  |                 let rhs = try!(self.$next());
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     binop_left! { mul_expr, un_expr, TIMES, DIVIDE, REMAINDER }
[INFO] [stderr]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `binop_left` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:238:45
[INFO] [stderr]     |
[INFO] [stderr] 238 |             Ok(UnaryExpr::new(Unop::Negate, try!(self.un_expr())))
[INFO] [stderr]     |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:240:42
[INFO] [stderr]     |
[INFO] [stderr] 240 |             Ok(UnaryExpr::new(Unop::Not, try!(self.un_expr())))
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:260:21
[INFO] [stderr]     |
[INFO] [stderr] 260 |                     try!(self.match_token(Token::RParen));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:253:37
[INFO] [stderr]     |
[INFO] [stderr] 253 | ...                   let e = try!(self.expr());
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:267:48
[INFO] [stderr]     |
[INFO] [stderr] 267 |                 Ok(UnaryExpr::new(Unop::ToInt, try!(self.paren_expr())))
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:270:48
[INFO] [stderr]     |
[INFO] [stderr] 270 |                 Ok(UnaryExpr::new(Unop::ToNum, try!(self.paren_expr())))
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:280:17
[INFO] [stderr]     |
[INFO] [stderr] 280 |                 try!(self.match_token(Token::RParen));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parse.rs:279:28
[INFO] [stderr]     |
[INFO] [stderr] 279 |                 let expr = try!(self.expr());
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:123:23
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let returns = try!(self.check_stmt(&f.body));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:139:17
[INFO] [stderr]     |
[INFO] [stderr] 139 |                 try!(self.check_expr(&s.expr));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:162:26
[INFO] [stderr]     |
[INFO] [stderr] 162 |             res = res || try!(self.check_stmt(&s));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |         try!(self.check_int(t));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:169:17
[INFO] [stderr]     |
[INFO] [stderr] 169 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:173:17
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 try!(self.check_stmt(&stmt.consequent));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:177:25
[INFO] [stderr]     |
[INFO] [stderr] 177 |                 let a = try!(self.check_stmt(&stmt.consequent));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:178:25
[INFO] [stderr]     |
[INFO] [stderr] 178 |                 let b = try!(self.check_stmt(alternate));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:186:9
[INFO] [stderr]     |
[INFO] [stderr] 186 |         try!(self.check_int(t));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |         try!(self.check_stmt(&stmt.body));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:185:17
[INFO] [stderr]     |
[INFO] [stderr] 185 |         let t = try!(self.check_expr(&stmt.test));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:197:9
[INFO] [stderr]     |
[INFO] [stderr] 197 |         try!(self.check_same(self.ret, t));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:194:32
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 Some(ref e) => try!(self.check_expr(e)),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:208:25
[INFO] [stderr]     |
[INFO] [stderr] 208 |                 let t = try!(self.check_expr(&u.expr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:211:25
[INFO] [stderr]     |
[INFO] [stderr] 211 |                         try!(self.check_int_or_num(t));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:215:25
[INFO] [stderr]     |
[INFO] [stderr] 215 |                         try!(self.check_int(t));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:219:25
[INFO] [stderr]     |
[INFO] [stderr] 219 |                         try!(self.check_num(t));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 223 |                         try!(self.check_int(t));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:230:26
[INFO] [stderr]     |
[INFO] [stderr] 230 |                 let tl = try!(self.check_expr(&b.lhs));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:231:26
[INFO] [stderr]     |
[INFO] [stderr] 231 |                 let tr = try!(self.check_expr(&b.rhs));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:234:25
[INFO] [stderr]     |
[INFO] [stderr] 234 |                         try!(self.check_int_or_num(tl));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:235:25
[INFO] [stderr]     |
[INFO] [stderr] 235 |                         try!(self.check_int_or_num(tr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:236:25
[INFO] [stderr]     |
[INFO] [stderr] 236 |                         try!(self.check_same(tl, tr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:241:25
[INFO] [stderr]     |
[INFO] [stderr] 241 |                         try!(self.check_int_or_num(tl));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:242:25
[INFO] [stderr]     |
[INFO] [stderr] 242 |                         try!(self.check_int_or_num(tr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:243:25
[INFO] [stderr]     |
[INFO] [stderr] 243 |                         try!(self.check_same(tl, tr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:247:25
[INFO] [stderr]     |
[INFO] [stderr] 247 |                         try!(self.check_int(tl));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:248:25
[INFO] [stderr]     |
[INFO] [stderr] 248 |                         try!(self.check_int(tr));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:257:17
[INFO] [stderr]     |
[INFO] [stderr] 257 |                 try!(self.check_same(tl, tr));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:255:26
[INFO] [stderr]     |
[INFO] [stderr] 255 |                 let tl = try!(self.lookup_var(&a.name));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:256:26
[INFO] [stderr]     |
[INFO] [stderr] 256 |                 let tr = try!(self.check_expr(&a.expr));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:263:28
[INFO] [stderr]     |
[INFO] [stderr] 263 |                 let sign = try!(self.lookup_fn(&c.name));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:269:21
[INFO] [stderr]     |
[INFO] [stderr] 269 |                     try!(self.check_same(ta, sign.formals[k]));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:268:30
[INFO] [stderr]     |
[INFO] [stderr] 268 |                     let ta = try!(self.check_expr(&c.args[k]));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/tycheck.rs:281:25
[INFO] [stderr]     |
[INFO] [stderr] 281 |                 let t = try!(self.lookup_var(&v.name));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `msg` is never read
[INFO] [stderr]  --> src/err.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct ParseErr
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] 3 | {
[INFO] [stderr] 4 |     pub msg: String
[INFO] [stderr]   |         ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ParseErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `entry_block`, `exit_block`, and `ir` are never read
[INFO] [stderr]   --> src/ir.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct Fun
[INFO] [stderr]    |            --- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub entry_block: Label,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 56 |     pub exit_block: Label,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 57 |     pub ir: Vec<IR>
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Fun` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `prev` is never read
[INFO] [stderr]   --> src/ir.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct IR {
[INFO] [stderr]    |            -- field in this struct
[INFO] [stderr] 72 |     pub op: Op,
[INFO] [stderr] 73 |     pub prev: Val,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IR` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:86:11
[INFO] [stderr]    |
[INFO] [stderr] 86 |     Block(Option<BlockInfo>),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 86 -     Block(Option<BlockInfo>),
[INFO] [stderr] 86 +     Block(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |     Literal(Lit),               // Has result
[INFO] [stderr]    |     ------- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 89 -     Literal(Lit),               // Has result
[INFO] [stderr] 89 +     Literal(()),               // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:90:14
[INFO] [stderr]    |
[INFO] [stderr] 90 |     Incoming(Arg),              // Has result
[INFO] [stderr]    |     -------- ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 90 -     Incoming(Arg),              // Has result
[INFO] [stderr] 90 +     Incoming(()),              // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:91:14
[INFO] [stderr]    |
[INFO] [stderr] 91 |     GetLocal(Local),            // Has result
[INFO] [stderr]    |     -------- ^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 91 -     GetLocal(Local),            // Has result
[INFO] [stderr] 91 +     GetLocal(()),            // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ir.rs:92:14
[INFO] [stderr]    |
[INFO] [stderr] 92 |     SetLocal(Local, Val),
[INFO] [stderr]    |     -------- ^^^^^  ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 92 -     SetLocal(Local, Val),
[INFO] [stderr] 92 +     SetLocal((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:93:15
[INFO] [stderr]    |
[INFO] [stderr] 93 |     GetGlobal(Global),          // Has result
[INFO] [stderr]    |     --------- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 93 -     GetGlobal(Global),          // Has result
[INFO] [stderr] 93 +     GetGlobal(()),          // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ir.rs:94:15
[INFO] [stderr]    |
[INFO] [stderr] 94 |     SetGlobal(Global, Val),
[INFO] [stderr]    |     --------- ^^^^^^  ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 94 -     SetGlobal(Global, Val),
[INFO] [stderr] 94 +     SetGlobal((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/ir.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |     Op2(O2, Val, Val),          // Has result
[INFO] [stderr]    |     --- ^^  ^^^  ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 95 -     Op2(O2, Val, Val),          // Has result
[INFO] [stderr] 95 +     Op2((), (), ()),          // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ir.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 96 |     Op1(O1, Val),               // Has result
[INFO] [stderr]    |     --- ^^  ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 96 -     Op1(O1, Val),               // Has result
[INFO] [stderr] 96 +     Op1((), ()),               // Has result
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ir.rs:97:10
[INFO] [stderr]    |
[INFO] [stderr] 97 |     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stderr]    |     ---- ^^^^^^  ^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 97 -     Call(Global, Vec<Val>),     // Has optional result.  The Global indicates the return type.
[INFO] [stderr] 97 +     Call((), ()),     // Has optional result.  The Global indicates the return type.
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, `2`, and `3` are never read
[INFO] [stderr]   --> src/ir.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 98 |     Jcc(OB, Val, Label, Label),
[INFO] [stderr]    |     --- ^^  ^^^  ^^^^^  ^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 98 -     Jcc(OB, Val, Label, Label),
[INFO] [stderr] 98 +     Jcc((), (), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ir.rs:99:10
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Jump(Label),
[INFO] [stderr]    |     ---- ^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 99 -     Jump(Label),
[INFO] [stderr] 99 +     Jump(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ir.rs:100:15
[INFO] [stderr]     |
[INFO] [stderr] 100 |     ReturnVal(Val, Label),
[INFO] [stderr]     |     --------- ^^^  ^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 100 -     ReturnVal(Val, Label),
[INFO] [stderr] 100 +     ReturnVal((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:101:16
[INFO] [stderr]     |
[INFO] [stderr] 101 |     ReturnVoid(Label)
[INFO] [stderr]     |     ---------- ^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 101 -     ReturnVoid(Label)
[INFO] [stderr] 101 +     ReturnVoid(())
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Nop` and `Notreached` are never constructed
[INFO] [stderr]   --> src/ir.rs:87:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub enum Op {
[INFO] [stderr]    |          -- variants in this enum
[INFO] [stderr] 86 |     Block(Option<BlockInfo>),
[INFO] [stderr] 87 |     Nop,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 88 |     Notreached,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Op` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:127:7
[INFO] [stderr]     |
[INFO] [stderr] 127 |     I(i64),
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 127 -     I(i64),
[INFO] [stderr] 127 +     I(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:128:7
[INFO] [stderr]     |
[INFO] [stderr] 128 |     N(f64)
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Lit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 128 -     N(f64)
[INFO] [stderr] 128 +     N(())
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:133:7
[INFO] [stderr]     |
[INFO] [stderr] 133 |     I(u32),
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 133 -     I(u32),
[INFO] [stderr] 133 +     I(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:134:7
[INFO] [stderr]     |
[INFO] [stderr] 134 |     N(u32)
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 134 -     N(u32)
[INFO] [stderr] 134 +     N(())
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:139:7
[INFO] [stderr]     |
[INFO] [stderr] 139 |     I(u32),
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 139 -     I(u32),
[INFO] [stderr] 139 +     I(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:140:7
[INFO] [stderr]     |
[INFO] [stderr] 140 |     N(u32)
[INFO] [stderr]     |     - ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Local` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 140 -     N(u32)
[INFO] [stderr] 140 +     N(())
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:145:7
[INFO] [stderr]     |
[INFO] [stderr] 145 |     I(Name),
[INFO] [stderr]     |     - ^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 145 -     I(Name),
[INFO] [stderr] 145 +     I(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stdout] 
[INFO] [stderr]    --> src/ir.rs:146:7
[INFO] [stdout] running 0 tests
[INFO] [stderr]     |
[INFO] [stdout] 
[INFO] [stderr] 146 |     N(Name),
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]     |     - ^^^^
[INFO] [stdout] 
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 146 -     N(Name),
[INFO] [stderr] 146 +     N(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ir.rs:147:7
[INFO] [stderr]     |
[INFO] [stderr] 147 |     V(Name)                 // Void
[INFO] [stderr]     |     - ^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Global` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 147 -     V(Name)                 // Void
[INFO] [stderr] 147 +     V(())                 // Void
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: methods `nop` and `notreached` are never used
[INFO] [stderr]    --> src/irgen.rs:313:8
[INFO] [stderr]     |
[INFO] [stderr] 35  | impl FunGen
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 313 |     fn nop(&mut self) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 317 |     fn notreached(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `lookup` is never used
[INFO] [stderr]   --> src/names.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl NameTable
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn lookup(&self, id:Name) -> String {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `pl0` (bin "pl0" test) generated 120 warnings (run `cargo fix --bin "pl0" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pl0-bac3bf9bfe1efb1f)
[INFO] running `Command { std: "docker" "inspect" "6f5cdb37668dfda298070f5542c656d49883616d1835df990a0f2757c0c51b9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f5cdb37668dfda298070f5542c656d49883616d1835df990a0f2757c0c51b9a", kill_on_drop: false }`
[INFO] [stdout] 6f5cdb37668dfda298070f5542c656d49883616d1835df990a0f2757c0c51b9a
