[INFO] updating cached repository https://github.com/Al1to/Simple-C-Compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 292092aaaa3437953e4ef3e5d243e27a1c145fe1 [INFO] checking Al1to/Simple-C-Compiler/292092aaaa3437953e4ef3e5d243e27a1c145fe1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAl1to%2FSimple-C-Compiler" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Al1to/Simple-C-Compiler on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Al1to/Simple-C-Compiler [INFO] finished tweaking git repo https://github.com/Al1to/Simple-C-Compiler [INFO] tweaked toml for git repo https://github.com/Al1to/Simple-C-Compiler written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Al1to/Simple-C-Compiler 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 925aec31506ad34258c79cec85ed16619bcc9d7f430ce1592d751c04fd0a007b [INFO] running `Command { std: "docker" "start" "-a" "925aec31506ad34258c79cec85ed16619bcc9d7f430ce1592d751c04fd0a007b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "925aec31506ad34258c79cec85ed16619bcc9d7f430ce1592d751c04fd0a007b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "925aec31506ad34258c79cec85ed16619bcc9d7f430ce1592d751c04fd0a007b", kill_on_drop: false }` [INFO] [stdout] 925aec31506ad34258c79cec85ed16619bcc9d7f430ce1592d751c04fd0a007b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0272a22a072ec9f5bf2307b7dbd71346bc3ca4594f6746f2d28e8ce594d691c4 [INFO] running `Command { std: "docker" "start" "-a" "0272a22a072ec9f5bf2307b7dbd71346bc3ca4594f6746f2d28e8ce594d691c4", kill_on_drop: false }` [INFO] [stderr] Checking rast_parse_test v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `t` is never read [INFO] [stdout] --> src/parse/parser.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | Ptr { t: Box }, [INFO] [stdout] | --- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Array` is never constructed [INFO] [stdout] --> src/parse/parser.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Array { t: Box, n: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | UnPlus { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | UnMinus { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | PreInc { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | PostInc { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | PreDec { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | PostDec { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | LogNot { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | Indirection { e: Box}, [INFO] [stdout] | ----------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | AddressOf { e:Box }, [INFO] [stdout] | --------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `args` are never read [INFO] [stdout] --> src/parse/parser.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | FuncCall { id: String, args: Box }, [INFO] [stdout] | -------- ^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Subscript` is never constructed [INFO] [stdout] --> src/parse/parser.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum UnOp { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Subscript { le: Box , re: Box }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Assign { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | AddAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | SubAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | MulAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | DivAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ModAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | LogOr { le: Box , re: Box }, [INFO] [stdout] | ----- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | LogAnd { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | Equal { le: Box , re: Box }, [INFO] [stdout] | ----- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | NotEqual { le: Box , re: Box }, [INFO] [stdout] | -------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | Bigger { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | Lesser { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | BiggerEqual { le: Box , re: Box }, [INFO] [stdout] | ----------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:59:19 [INFO] [stdout] | [INFO] [stdout] 59 | LesserEqual { le: Box , re: Box }, [INFO] [stdout] | ----------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | Add { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | Sub { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | Mul { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | Div { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | Mod { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `t`, `id`, `args`, and `block` are never read [INFO] [stdout] --> src/parse/parser.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | FuncDecl { t: Type, id: String, args: Box, block: Box }, [INFO] [stdout] | -------- ^ ^^ ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `t` and `id` are never read [INFO] [stdout] --> src/parse/parser.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | ArgDecl { t: Type, id: String }, [INFO] [stdout] | ------- ^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | Return { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:92:14 [INFO] [stdout] | [INFO] [stdout] 92 | Expr { e: Box }, [INFO] [stdout] | ---- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | IntN { num: i32 }, [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | FloatN { num: f64 }, [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | CharN { num: u8 }, [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `o` is never read [INFO] [stdout] --> src/parse/parser.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | BinOp { o: BinOp }, [INFO] [stdout] | ----- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `o` is never read [INFO] [stdout] --> src/parse/parser.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | UnOp { o: UnOp }, [INFO] [stdout] | ---- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parse/parser.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub enum Node { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Arg { e: Box }, [INFO] [stdout] | ^^^ [INFO] [stdout] 79 | [INFO] [stdout] 80 | VarDecl { t: Type, id: Box, val: Box }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | [INFO] [stdout] 82 | If { cond: Box, block: Box, next: Box }, [INFO] [stdout] | ^^ [INFO] [stdout] 83 | Else { block: Box }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | [INFO] [stdout] 85 | For { var: Box, cond: Box, e: Box, block: Box }, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | [INFO] [stdout] 87 | While { cond: Box, block: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:181:63 [INFO] [stdout] | [INFO] [stdout] 172 | let func_ret_type = parse_type(next_t(toks), toks); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | let func_id = parse_id(next_t(toks)); [INFO] [stdout] 174 | let func_args = match *next_t(toks) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 177 | let func_block = match *next_t(toks) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | Node::FuncDecl { t: func_ret_type, id: func_id, args: Box::new(func_args), block: Box::new(func_block) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:181:91 [INFO] [stdout] | [INFO] [stdout] 172 | let func_ret_type = parse_type(next_t(toks), toks); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | let func_id = parse_id(next_t(toks)); [INFO] [stdout] 174 | let func_args = match *next_t(toks) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 177 | let func_block = match *next_t(toks) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | Node::FuncDecl { t: func_ret_type, id: func_id, args: Box::new(func_args), block: Box::new(func_block) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:443:28 [INFO] [stdout] | [INFO] [stdout] 439 | fn create_ptr(ptr_count: u8, end: Type) -> Type { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 443 | Type::Ptr { t: Box::new(create_ptr(ptr_count - 1, end)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `t` is never read [INFO] [stdout] --> src/parse/parser.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | Ptr { t: Box }, [INFO] [stdout] | --- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Array` is never constructed [INFO] [stdout] --> src/parse/parser.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Array { t: Box, n: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | UnPlus { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | UnMinus { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | PreInc { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | PostInc { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | PreDec { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | PostDec { e: Box }, [INFO] [stdout] | ------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | LogNot { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | Indirection { e: Box}, [INFO] [stdout] | ----------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | AddressOf { e:Box }, [INFO] [stdout] | --------- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `args` are never read [INFO] [stdout] --> src/parse/parser.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | FuncCall { id: String, args: Box }, [INFO] [stdout] | -------- ^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Subscript` is never constructed [INFO] [stdout] --> src/parse/parser.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum UnOp { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 35 | Subscript { le: Box , re: Box }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | Assign { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | AddAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | SubAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | MulAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | DivAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | ModAssign { le: Box , re: Box }, [INFO] [stdout] | --------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | LogOr { le: Box , re: Box }, [INFO] [stdout] | ----- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:52:14 [INFO] [stdout] | [INFO] [stdout] 52 | LogAnd { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | Equal { le: Box , re: Box }, [INFO] [stdout] | ----- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | NotEqual { le: Box , re: Box }, [INFO] [stdout] | -------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | Bigger { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | Lesser { le: Box , re: Box }, [INFO] [stdout] | ------ ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | BiggerEqual { le: Box , re: Box }, [INFO] [stdout] | ----------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:59:19 [INFO] [stdout] | [INFO] [stdout] 59 | LesserEqual { le: Box , re: Box }, [INFO] [stdout] | ----------- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | Add { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | Sub { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:63:11 [INFO] [stdout] | [INFO] [stdout] 63 | Mul { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | Div { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `le` and `re` are never read [INFO] [stdout] --> src/parse/parser.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | Mod { le: Box , re: Box }, [INFO] [stdout] | --- ^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `t`, `id`, `args`, and `block` are never read [INFO] [stdout] --> src/parse/parser.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | FuncDecl { t: Type, id: String, args: Box, block: Box }, [INFO] [stdout] | -------- ^ ^^ ^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `t` and `id` are never read [INFO] [stdout] --> src/parse/parser.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | ArgDecl { t: Type, id: String }, [INFO] [stdout] | ------- ^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | Return { e: Box }, [INFO] [stdout] | ------ ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `e` is never read [INFO] [stdout] --> src/parse/parser.rs:92:14 [INFO] [stdout] | [INFO] [stdout] 92 | Expr { e: Box }, [INFO] [stdout] | ---- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 93 | IntN { num: i32 }, [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:94:14 [INFO] [stdout] | [INFO] [stdout] 94 | FloatN { num: f64 }, [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num` is never read [INFO] [stdout] --> src/parse/parser.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | CharN { num: u8 }, [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `o` is never read [INFO] [stdout] --> src/parse/parser.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | BinOp { o: BinOp }, [INFO] [stdout] | ----- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `o` is never read [INFO] [stdout] --> src/parse/parser.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | UnOp { o: UnOp }, [INFO] [stdout] | ---- ^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parse/parser.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub enum Node { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | Arg { e: Box }, [INFO] [stdout] | ^^^ [INFO] [stdout] 79 | [INFO] [stdout] 80 | VarDecl { t: Type, id: Box, val: Box }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | [INFO] [stdout] 82 | If { cond: Box, block: Box, next: Box }, [INFO] [stdout] | ^^ [INFO] [stdout] 83 | Else { block: Box }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | [INFO] [stdout] 85 | For { var: Box, cond: Box, e: Box, block: Box }, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | [INFO] [stdout] 87 | While { cond: Box, block: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:181:63 [INFO] [stdout] | [INFO] [stdout] 172 | let func_ret_type = parse_type(next_t(toks), toks); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | let func_id = parse_id(next_t(toks)); [INFO] [stdout] 174 | let func_args = match *next_t(toks) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 177 | let func_block = match *next_t(toks) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | Node::FuncDecl { t: func_ret_type, id: func_id, args: Box::new(func_args), block: Box::new(func_block) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:181:91 [INFO] [stdout] | [INFO] [stdout] 172 | let func_ret_type = parse_type(next_t(toks), toks); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | let func_id = parse_id(next_t(toks)); [INFO] [stdout] 174 | let func_args = match *next_t(toks) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 177 | let func_block = match *next_t(toks) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 181 | Node::FuncDecl { t: func_ret_type, id: func_id, args: Box::new(func_args), block: Box::new(func_block) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parse/parser.rs:443:28 [INFO] [stdout] | [INFO] [stdout] 439 | fn create_ptr(ptr_count: u8, end: Type) -> Type { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 443 | Type::Ptr { t: Box::new(create_ptr(ptr_count - 1, end)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rast_parse_test` (bin "rast_parse_test") due to 4 previous errors; 42 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 3 previous errors; 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rast_parse_test` (bin "rast_parse_test" test) due to 4 previous errors; 42 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0272a22a072ec9f5bf2307b7dbd71346bc3ca4594f6746f2d28e8ce594d691c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0272a22a072ec9f5bf2307b7dbd71346bc3ca4594f6746f2d28e8ce594d691c4", kill_on_drop: false }` [INFO] [stdout] 0272a22a072ec9f5bf2307b7dbd71346bc3ca4594f6746f2d28e8ce594d691c4