[INFO] cloning repository https://github.com/Phytolizer/pl0 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Phytolizer/pl0" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhytolizer%2Fpl0", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPhytolizer%2Fpl0'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 60fe757c011288acfb90f23c6c5f57ebdcc202da [INFO] checking Phytolizer/pl0/60fe757c011288acfb90f23c6c5f57ebdcc202da 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%2FPhytolizer%2Fpl0" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Phytolizer/pl0 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/Phytolizer/pl0 [INFO] finished tweaking git repo https://github.com/Phytolizer/pl0 [INFO] tweaked toml for git repo https://github.com/Phytolizer/pl0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Phytolizer/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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 18e2297ffebdc5f95f2aa548d956399c34591ce4565d8befca2e92fe4bf4cf06 [INFO] running `Command { std: "docker" "start" "-a" "18e2297ffebdc5f95f2aa548d956399c34591ce4565d8befca2e92fe4bf4cf06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18e2297ffebdc5f95f2aa548d956399c34591ce4565d8befca2e92fe4bf4cf06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18e2297ffebdc5f95f2aa548d956399c34591ce4565d8befca2e92fe4bf4cf06", kill_on_drop: false }` [INFO] [stdout] 18e2297ffebdc5f95f2aa548d956399c34591ce4565d8befca2e92fe4bf4cf06 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 551d6169331267b71d39fa5777fd54778c6fe2820e916162602ee2dcc15f10d0 [INFO] running `Command { std: "docker" "start" "-a" "551d6169331267b71d39fa5777fd54778c6fe2820e916162602ee2dcc15f10d0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling libc v0.2.127 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking nom v7.1.1 [INFO] [stderr] Compiling psm v0.1.20 [INFO] [stderr] Compiling stacker v0.1.15 [INFO] [stderr] Compiling thiserror-impl v1.0.32 [INFO] [stderr] Checking thiserror v1.0.32 [INFO] [stderr] Checking pl0 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `tree` [INFO] [stdout] --> src/compile.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn compile(tree: SyntaxTree) -> crate::Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tree` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_option` is never used [INFO] [stdout] --> src/tree.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl OrError { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub(crate) fn into_option(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/tree.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) struct SyntaxTree { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 59 | pub(crate) root: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `const_section`, `var_section`, `procedures`, and `body` are never read [INFO] [stdout] --> src/tree.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 63 | pub(crate) struct Block { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 64 | pub(crate) const_section: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 65 | pub(crate) var_section: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 66 | pub(crate) procedures: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 67 | pub(crate) body: OrError, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `equal_token`, and `value` are never read [INFO] [stdout] --> src/tree.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) struct ConstEntry { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 72 | pub(crate) name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | pub(crate) equal_token: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 74 | pub(crate) value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var_kw`, `entries`, and `semicolon_token` are never read [INFO] [stdout] --> src/tree.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 78 | pub(crate) struct VarSection { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 79 | pub(crate) var_kw: Token, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | pub(crate) entries: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | pub(crate) semicolon_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarSection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `body` are never read [INFO] [stdout] --> src/tree.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 85 | pub(crate) struct Procedure { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 86 | pub(crate) name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 87 | pub(crate) body: Box, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Procedure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tree` [INFO] [stdout] --> src/compile.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn compile(tree: SyntaxTree) -> crate::Result> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tree` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | Assignment(AssignmentStatement), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 92 | Assignment(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | ProcedureCall(Token), [INFO] [stdout] | ------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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 | ProcedureCall(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:94:10 [INFO] [stdout] | [INFO] [stdout] 94 | Read(Token), [INFO] [stdout] | ---- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 94 | Read(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | Write(Expression), [INFO] [stdout] | ----- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 95 | Write(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | Block(Vec>), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 96 | Block(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | If(IfStatement), [INFO] [stdout] | -- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 97 | If(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | While(WhileStatement), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 98 | While(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `variable` and `expression` are never read [INFO] [stdout] --> src/tree.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) struct AssignmentStatement { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 104 | pub(crate) variable: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 105 | pub(crate) expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/tree.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 109 | pub(crate) struct IfStatement { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 110 | pub(crate) condition: OrError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 111 | pub(crate) body: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IfStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/tree.rs:116:16 [INFO] [stdout] | [INFO] [stdout] 115 | pub(crate) struct WhileStatement { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 116 | pub(crate) condition: OrError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 117 | pub(crate) body: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WhileStatement` 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/tree.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | Odd(Expression), [INFO] [stdout] | --- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Condition` 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] 122 | Odd(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | Comparison(ComparisonCondition), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Condition` 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] 123 | Comparison(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/tree.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 127 | pub(crate) struct ComparisonCondition { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 128 | pub(crate) left: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] 129 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 130 | pub(crate) right: Expression, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ComparisonCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sign`, `first`, and `rest` are never read [INFO] [stdout] --> src/tree.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 134 | pub(crate) struct Expression { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 135 | pub(crate) sign: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 136 | pub(crate) first: Term, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 137 | pub(crate) rest: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `term` are never read [INFO] [stdout] --> src/tree.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 141 | pub(crate) struct PrefixedTerm { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 142 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 143 | pub(crate) term: Term, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first` and `rest` are never read [INFO] [stdout] --> src/tree.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 147 | pub(crate) struct Term { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 148 | pub(crate) first: Factor, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 149 | pub(crate) rest: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Term` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `factor` are never read [INFO] [stdout] --> src/tree.rs:154:16 [INFO] [stdout] | [INFO] [stdout] 153 | pub(crate) struct PrefixedFactor { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 154 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 155 | pub(crate) factor: Factor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixedFactor` 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/tree.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | Variable(Token), [INFO] [stdout] | -------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 160 | Variable(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | Number(Token), [INFO] [stdout] | ------ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 161 | Number(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | Parenthesized(OrError>), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 162 | Parenthesized(()), [INFO] [stdout] | ~~ [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.rs:199:24 [INFO] [stdout] | [INFO] [stdout] 192 | mut parser: F, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | error_msg: E, [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 199 | move |input| match parser(input) { [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.rs:335:18 [INFO] [stdout] | [INFO] [stdout] 334 | |(_, name, _, body, _)| { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 335 | Some(Procedure { [INFO] [stdout] | __________________^ [INFO] [stdout] 336 | | name: name?, [INFO] [stdout] 337 | | body: body?, [INFO] [stdout] 338 | | }) [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.rs:351:18 [INFO] [stdout] | [INFO] [stdout] 350 | |(operator, factor)| { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 351 | Some(PrefixedFactor { [INFO] [stdout] | __________________^ [INFO] [stdout] 352 | | operator, [INFO] [stdout] 353 | | factor: factor?, [INFO] [stdout] 354 | | }) [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.rs:369:30 [INFO] [stdout] | [INFO] [stdout] 369 | |(_, expression, _)| expression.map(|e| *e).flatten().map(Box::new), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:377:61 [INFO] [stdout] | [INFO] [stdout] 377 | map(parenthesized_factor, |f| Factor::Parenthesized(f.into())), [INFO] [stdout] | - ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 388 | |(operator, term)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 389 | Some(PrefixedTerm { [INFO] [stdout] | __________________^ [INFO] [stdout] 390 | | operator, [INFO] [stdout] 391 | | term: term?, [INFO] [stdout] 392 | | }) [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.rs:399:14 [INFO] [stdout] | [INFO] [stdout] 398 | map(pair(factor(), many0(prefixed_factor())), |(first, rest)| { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 399 | Some(Term { [INFO] [stdout] | ______________^ [INFO] [stdout] 400 | | first, [INFO] [stdout] 401 | | rest: rest.into_iter().collect::>>()?, [INFO] [stdout] 402 | | }) [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.rs:414:18 [INFO] [stdout] | [INFO] [stdout] 413 | |(sign, first, rest)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 414 | Some(Expression { [INFO] [stdout] | __________________^ [INFO] [stdout] 415 | | sign, [INFO] [stdout] 416 | | first: first?, [INFO] [stdout] 417 | | rest: rest.into_iter().collect::>>()?, [INFO] [stdout] 418 | | }) [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.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | |e| e.flatten().into(), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:456:18 [INFO] [stdout] | [INFO] [stdout] 455 | |(left, operator, right)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 456 | Some(ComparisonCondition { [INFO] [stdout] | __________________^ [INFO] [stdout] 457 | | left: left?, [INFO] [stdout] 458 | | operator: operator?, [INFO] [stdout] 459 | | right: right.flatten()?, [INFO] [stdout] 460 | | }) [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.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 468 | map(comparison_condition(), |c| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 469 | c.map(Condition::Comparison).into() [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.rs:483:18 [INFO] [stdout] | [INFO] [stdout] 482 | |(variable, _, expression)| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 483 | Some(AssignmentStatement { [INFO] [stdout] | __________________^ [INFO] [stdout] 484 | | variable, [INFO] [stdout] 485 | | expression: expression.flatten()?, [INFO] [stdout] 486 | | }) [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.rs:513:32 [INFO] [stdout] | [INFO] [stdout] 513 | |(_, expression)| Some(expression.flatten()?), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:522:13 [INFO] [stdout] | [INFO] [stdout] 521 | map(expect(statement, "Expected statement after ';'"), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 522 | OrError::from(s).flatten() [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.rs:540:18 [INFO] [stdout] | [INFO] [stdout] 539 | |(_, first, rest, _)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 540 | Some({ [INFO] [stdout] | __________________^ [INFO] [stdout] 541 | | let mut statements = vec![first.map(|f| *f)?]; [INFO] [stdout] 542 | | statements.extend(rest); [INFO] [stdout] 543 | | statements [INFO] [stdout] 544 | | }) [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.rs:561:18 [INFO] [stdout] | [INFO] [stdout] 558 | |(_, condition, _, body)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 559 | let condition = OrError::from(condition).flatten(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 560 | let body = OrError::from(body).map(|b| *b).flatten().map(Box::new); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 561 | Some(IfStatement { condition, body }) [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.rs:582:18 [INFO] [stdout] | [INFO] [stdout] 581 | |(_, condition, _, body)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 582 | Some(WhileStatement { [INFO] [stdout] | __________________^ [INFO] [stdout] 583 | | condition: OrError::from(condition).flatten(), [INFO] [stdout] 584 | | body: OrError::from(body).map(|b| *b).flatten().map(Box::new), [INFO] [stdout] 585 | | }) [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.rs:594:17 [INFO] [stdout] | [INFO] [stdout] 593 | map(assignment_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 594 | OrError::from(s).map(Statement::Assignment) [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.rs:601:17 [INFO] [stdout] | [INFO] [stdout] 600 | map(write_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 601 | OrError::from(s).map(Statement::Write) [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.rs:604:17 [INFO] [stdout] | [INFO] [stdout] 603 | map(block_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 604 | OrError::from(s).map(Statement::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.rs:606:37 [INFO] [stdout] | [INFO] [stdout] 606 | map(if_statement(), |s| OrError::from(s).map(Statement::If)), [INFO] [stdout] | - ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:608:17 [INFO] [stdout] | [INFO] [stdout] 607 | map(while_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 608 | OrError::from(s).map(Statement::While) [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.rs:611:25 [INFO] [stdout] | [INFO] [stdout] 611 | |s| s.unwrap_or(OrError::Ok(Statement::Empty)), [INFO] [stdout] | - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:626:25 [INFO] [stdout] | [INFO] [stdout] 623 | |(const_section, var_section, procedures, body)| Block { [INFO] [stdout] | ---------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 626 | procedures: procedures.into_iter().map(Into::into).collect(), [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.rs:648:23 [INFO] [stdout] | [INFO] [stdout] 647 | .map(|(_, root)| SyntaxTree { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 648 | root: root.map(Box::new).into(), [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: aborting due to 25 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pl0` (bin "pl0") due to 26 previous errors; 27 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: method `into_option` is never used [INFO] [stdout] --> src/tree.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl OrError { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub(crate) fn into_option(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root` is never read [INFO] [stdout] --> src/tree.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) struct SyntaxTree { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 59 | pub(crate) root: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `const_section`, `var_section`, `procedures`, and `body` are never read [INFO] [stdout] --> src/tree.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 63 | pub(crate) struct Block { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 64 | pub(crate) const_section: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 65 | pub(crate) var_section: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 66 | pub(crate) procedures: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 67 | pub(crate) body: OrError, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `equal_token`, and `value` are never read [INFO] [stdout] --> src/tree.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) struct ConstEntry { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 72 | pub(crate) name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | pub(crate) equal_token: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 74 | pub(crate) value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `var_kw`, `entries`, and `semicolon_token` are never read [INFO] [stdout] --> src/tree.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 78 | pub(crate) struct VarSection { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 79 | pub(crate) var_kw: Token, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | pub(crate) entries: Option>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | pub(crate) semicolon_token: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VarSection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `body` are never read [INFO] [stdout] --> src/tree.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 85 | pub(crate) struct Procedure { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 86 | pub(crate) name: Token, [INFO] [stdout] | ^^^^ [INFO] [stdout] 87 | pub(crate) body: Box, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Procedure` 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/tree.rs:92:16 [INFO] [stdout] | [INFO] [stdout] 92 | Assignment(AssignmentStatement), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 92 | Assignment(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | ProcedureCall(Token), [INFO] [stdout] | ------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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 | ProcedureCall(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:94:10 [INFO] [stdout] | [INFO] [stdout] 94 | Read(Token), [INFO] [stdout] | ---- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 94 | Read(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | Write(Expression), [INFO] [stdout] | ----- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 95 | Write(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | Block(Vec>), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 96 | Block(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | If(IfStatement), [INFO] [stdout] | -- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 97 | If(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | While(WhileStatement), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Statement` 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] 98 | While(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `variable` and `expression` are never read [INFO] [stdout] --> src/tree.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) struct AssignmentStatement { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 104 | pub(crate) variable: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 105 | pub(crate) expression: Expression, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/tree.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 109 | pub(crate) struct IfStatement { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 110 | pub(crate) condition: OrError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 111 | pub(crate) body: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IfStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/tree.rs:116:16 [INFO] [stdout] | [INFO] [stdout] 115 | pub(crate) struct WhileStatement { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 116 | pub(crate) condition: OrError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 117 | pub(crate) body: OrError>, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WhileStatement` 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/tree.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | Odd(Expression), [INFO] [stdout] | --- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Condition` 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] 122 | Odd(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | Comparison(ComparisonCondition), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Condition` 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] 123 | Comparison(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `left`, `operator`, and `right` are never read [INFO] [stdout] --> src/tree.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 127 | pub(crate) struct ComparisonCondition { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 128 | pub(crate) left: Expression, [INFO] [stdout] | ^^^^ [INFO] [stdout] 129 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 130 | pub(crate) right: Expression, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ComparisonCondition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sign`, `first`, and `rest` are never read [INFO] [stdout] --> src/tree.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 134 | pub(crate) struct Expression { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 135 | pub(crate) sign: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 136 | pub(crate) first: Term, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 137 | pub(crate) rest: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `term` are never read [INFO] [stdout] --> src/tree.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 141 | pub(crate) struct PrefixedTerm { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 142 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 143 | pub(crate) term: Term, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `first` and `rest` are never read [INFO] [stdout] --> src/tree.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 147 | pub(crate) struct Term { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 148 | pub(crate) first: Factor, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 149 | pub(crate) rest: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Term` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `operator` and `factor` are never read [INFO] [stdout] --> src/tree.rs:154:16 [INFO] [stdout] | [INFO] [stdout] 153 | pub(crate) struct PrefixedFactor { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 154 | pub(crate) operator: Token, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 155 | pub(crate) factor: Factor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixedFactor` 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/tree.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | Variable(Token), [INFO] [stdout] | -------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 160 | Variable(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | Number(Token), [INFO] [stdout] | ------ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 161 | Number(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tree.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | Parenthesized(OrError>), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Factor` 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] 162 | Parenthesized(()), [INFO] [stdout] | ~~ [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.rs:199:24 [INFO] [stdout] | [INFO] [stdout] 192 | mut parser: F, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | error_msg: E, [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 199 | move |input| match parser(input) { [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.rs:335:18 [INFO] [stdout] | [INFO] [stdout] 334 | |(_, name, _, body, _)| { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 335 | Some(Procedure { [INFO] [stdout] | __________________^ [INFO] [stdout] 336 | | name: name?, [INFO] [stdout] 337 | | body: body?, [INFO] [stdout] 338 | | }) [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.rs:351:18 [INFO] [stdout] | [INFO] [stdout] 350 | |(operator, factor)| { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 351 | Some(PrefixedFactor { [INFO] [stdout] | __________________^ [INFO] [stdout] 352 | | operator, [INFO] [stdout] 353 | | factor: factor?, [INFO] [stdout] 354 | | }) [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.rs:369:30 [INFO] [stdout] | [INFO] [stdout] 369 | |(_, expression, _)| expression.map(|e| *e).flatten().map(Box::new), [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:377:61 [INFO] [stdout] | [INFO] [stdout] 377 | map(parenthesized_factor, |f| Factor::Parenthesized(f.into())), [INFO] [stdout] | - ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 388 | |(operator, term)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 389 | Some(PrefixedTerm { [INFO] [stdout] | __________________^ [INFO] [stdout] 390 | | operator, [INFO] [stdout] 391 | | term: term?, [INFO] [stdout] 392 | | }) [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.rs:399:14 [INFO] [stdout] | [INFO] [stdout] 398 | map(pair(factor(), many0(prefixed_factor())), |(first, rest)| { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 399 | Some(Term { [INFO] [stdout] | ______________^ [INFO] [stdout] 400 | | first, [INFO] [stdout] 401 | | rest: rest.into_iter().collect::>>()?, [INFO] [stdout] 402 | | }) [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.rs:414:18 [INFO] [stdout] | [INFO] [stdout] 413 | |(sign, first, rest)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 414 | Some(Expression { [INFO] [stdout] | __________________^ [INFO] [stdout] 415 | | sign, [INFO] [stdout] 416 | | first: first?, [INFO] [stdout] 417 | | rest: rest.into_iter().collect::>>()?, [INFO] [stdout] 418 | | }) [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.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | |e| e.flatten().into(), [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:456:18 [INFO] [stdout] | [INFO] [stdout] 455 | |(left, operator, right)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 456 | Some(ComparisonCondition { [INFO] [stdout] | __________________^ [INFO] [stdout] 457 | | left: left?, [INFO] [stdout] 458 | | operator: operator?, [INFO] [stdout] 459 | | right: right.flatten()?, [INFO] [stdout] 460 | | }) [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.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 468 | map(comparison_condition(), |c| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 469 | c.map(Condition::Comparison).into() [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.rs:483:18 [INFO] [stdout] | [INFO] [stdout] 482 | |(variable, _, expression)| { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 483 | Some(AssignmentStatement { [INFO] [stdout] | __________________^ [INFO] [stdout] 484 | | variable, [INFO] [stdout] 485 | | expression: expression.flatten()?, [INFO] [stdout] 486 | | }) [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.rs:513:32 [INFO] [stdout] | [INFO] [stdout] 513 | |(_, expression)| Some(expression.flatten()?), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:522:13 [INFO] [stdout] | [INFO] [stdout] 521 | map(expect(statement, "Expected statement after ';'"), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 522 | OrError::from(s).flatten() [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.rs:540:18 [INFO] [stdout] | [INFO] [stdout] 539 | |(_, first, rest, _)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 540 | Some({ [INFO] [stdout] | __________________^ [INFO] [stdout] 541 | | let mut statements = vec![first.map(|f| *f)?]; [INFO] [stdout] 542 | | statements.extend(rest); [INFO] [stdout] 543 | | statements [INFO] [stdout] 544 | | }) [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.rs:561:18 [INFO] [stdout] | [INFO] [stdout] 558 | |(_, condition, _, body)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 559 | let condition = OrError::from(condition).flatten(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 560 | let body = OrError::from(body).map(|b| *b).flatten().map(Box::new); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 561 | Some(IfStatement { condition, body }) [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.rs:582:18 [INFO] [stdout] | [INFO] [stdout] 581 | |(_, condition, _, body)| { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 582 | Some(WhileStatement { [INFO] [stdout] | __________________^ [INFO] [stdout] 583 | | condition: OrError::from(condition).flatten(), [INFO] [stdout] 584 | | body: OrError::from(body).map(|b| *b).flatten().map(Box::new), [INFO] [stdout] 585 | | }) [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.rs:594:17 [INFO] [stdout] | [INFO] [stdout] 593 | map(assignment_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 594 | OrError::from(s).map(Statement::Assignment) [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.rs:601:17 [INFO] [stdout] | [INFO] [stdout] 600 | map(write_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 601 | OrError::from(s).map(Statement::Write) [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.rs:604:17 [INFO] [stdout] | [INFO] [stdout] 603 | map(block_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 604 | OrError::from(s).map(Statement::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.rs:606:37 [INFO] [stdout] | [INFO] [stdout] 606 | map(if_statement(), |s| OrError::from(s).map(Statement::If)), [INFO] [stdout] | - ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:608:17 [INFO] [stdout] | [INFO] [stdout] 607 | map(while_statement(), |s| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 608 | OrError::from(s).map(Statement::While) [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.rs:611:25 [INFO] [stdout] | [INFO] [stdout] 611 | |s| s.unwrap_or(OrError::Ok(Statement::Empty)), [INFO] [stdout] | - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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.rs:626:25 [INFO] [stdout] | [INFO] [stdout] 623 | |(const_section, var_section, procedures, body)| Block { [INFO] [stdout] | ---------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 626 | procedures: procedures.into_iter().map(Into::into).collect(), [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.rs:648:23 [INFO] [stdout] | [INFO] [stdout] 647 | .map(|(_, root)| SyntaxTree { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 648 | root: root.map(Box::new).into(), [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: aborting due to 25 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pl0` (bin "pl0" test) due to 26 previous errors; 27 warnings emitted [INFO] running `Command { std: "docker" "inspect" "551d6169331267b71d39fa5777fd54778c6fe2820e916162602ee2dcc15f10d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "551d6169331267b71d39fa5777fd54778c6fe2820e916162602ee2dcc15f10d0", kill_on_drop: false }` [INFO] [stdout] 551d6169331267b71d39fa5777fd54778c6fe2820e916162602ee2dcc15f10d0