[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] building lars-t-hansen/pl0 against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [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] validating manifest of git repo https://github.com/lars-t-hansen/pl0 on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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] 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ee22fceac8366bb7216c871dda5b1a822b968f93fe3ae312bdc651480c205297 [INFO] running `Command { std: "docker" "start" "-a" "ee22fceac8366bb7216c871dda5b1a822b968f93fe3ae312bdc651480c205297", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ee22fceac8366bb7216c871dda5b1a822b968f93fe3ae312bdc651480c205297", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee22fceac8366bb7216c871dda5b1a822b968f93fe3ae312bdc651480c205297", kill_on_drop: false }` [INFO] [stdout] ee22fceac8366bb7216c871dda5b1a822b968f93fe3ae312bdc651480c205297 [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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34a2568a8a571bf2aea6fe1104627e722b348a2c8f45ceb1ce0de04c82f75c35 [INFO] running `Command { std: "docker" "start" "-a" "34a2568a8a571bf2aea6fe1104627e722b348a2c8f45ceb1ce0de04c82f75c35", 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 [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 [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 [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 [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 [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 [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 [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] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/tycheck.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 75 | for t in threads.drain(..) { [INFO] [stdout] | ----------------- [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | `#1` will be dropped later as of Edition 2024 [INFO] [stdout] 76 | match t.join() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] 77 | Err(e) => { [INFO] [stdout] | - [INFO] [stdout] | | [INFO] [stdout] | `e` calls a custom destructor [INFO] [stdout] | `e` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 89 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#2` may invoke a custom destructor because it contains a trait object [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/std/src/thread/mod.rs:1686:1 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/alloc/src/ffi/c_str.rs:694:1 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/std/src/sys/pal/unix/thread.rs:321:1 [INFO] [stdout] = note: `e` may invoke a custom destructor because it contains a trait object [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [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 [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), [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(()), [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(()), // 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(()), // 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(()), // 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((), ()), [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(()), // 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((), ()), [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((), (), ()), // 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((), ()), // 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), // 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((), ()), // 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((), (), (), ()), [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(()), [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((), ()), [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(()) [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), [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(()), [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(()) [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(()), [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(()) [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(()), [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(()) [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(()), [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(()), [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(()) // 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] error: could not compile `pl0` (bin "pl0") due to 1 previous error; 120 warnings emitted [INFO] running `Command { std: "docker" "inspect" "34a2568a8a571bf2aea6fe1104627e722b348a2c8f45ceb1ce0de04c82f75c35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34a2568a8a571bf2aea6fe1104627e722b348a2c8f45ceb1ce0de04c82f75c35", kill_on_drop: false }` [INFO] [stdout] 34a2568a8a571bf2aea6fe1104627e722b348a2c8f45ceb1ce0de04c82f75c35