[INFO] cloning repository https://github.com/icxd/gemstone [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/icxd/gemstone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e75cbcbe926a5f81bb63b0c0f3a03b4d4fab50cf [INFO] checking icxd/gemstone against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/icxd/gemstone on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/icxd/gemstone [INFO] finished tweaking git repo https://github.com/icxd/gemstone [INFO] tweaked toml for git repo https://github.com/icxd/gemstone written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/icxd/gemstone 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814 [INFO] running `Command { std: "docker" "start" "-a" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814", kill_on_drop: false }` [INFO] [stdout] a7f37ab729750a7219a21ba34674a5adf7e7aca37da4f287a10251e7e972e814 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8 [INFO] running `Command { std: "docker" "start" "-a" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking gemstone-2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, 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: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, 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: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.97s [INFO] running `Command { std: "docker" "inspect" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8", kill_on_drop: false }` [INFO] [stdout] 0e6d4b10fe1edff97ab61c4dab0aa066403f27cb4e974d4376d9c37dd113dad8 [INFO] checking icxd/gemstone against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ficxd%2Fgemstone" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/icxd/gemstone on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/icxd/gemstone [INFO] finished tweaking git repo https://github.com/icxd/gemstone [INFO] tweaked toml for git repo https://github.com/icxd/gemstone written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/icxd/gemstone 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c595de3bbf8fa6d4ee1acaf1a9af8c141d6e015ebd7de700cb9ef5b1243334cc [INFO] running `Command { std: "docker" "start" "-a" "c595de3bbf8fa6d4ee1acaf1a9af8c141d6e015ebd7de700cb9ef5b1243334cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c595de3bbf8fa6d4ee1acaf1a9af8c141d6e015ebd7de700cb9ef5b1243334cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c595de3bbf8fa6d4ee1acaf1a9af8c141d6e015ebd7de700cb9ef5b1243334cc", kill_on_drop: false }` [INFO] [stdout] c595de3bbf8fa6d4ee1acaf1a9af8c141d6e015ebd7de700cb9ef5b1243334cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb609b0e196cc312c974fd0fa08fac4dcaaaaefc426c5833842f77d16d58d4f8 [INFO] running `Command { std: "docker" "start" "-a" "fb609b0e196cc312c974fd0fa08fac4dcaaaaefc426c5833842f77d16d58d4f8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking gemstone-2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut class_name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | let mut right: Expr = self.parse_multiplicative(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:510:17 [INFO] [stdout] | [INFO] [stdout] 510 | let mut right: Expr = self.parse_member(tokens, index); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:532:17 [INFO] [stdout] | [INFO] [stdout] 532 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:569:21 [INFO] [stdout] | [INFO] [stdout] 569 | let mut expr: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | let mut name: String = match tokens.get(*index).unwrap().clone() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/main.rs:669:38 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_call` [INFO] [stdout] --> src/main.rs:669:46 [INFO] [stdout] | [INFO] [stdout] 669 | Expr::MemberFunctionCall(parent, function_call) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, 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: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_external` is never read [INFO] [stdout] --> src/main.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 53 | struct ClassFunction { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | pub is_external: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassFunction` has derived impls for the traits `Clone` and `Debug`, 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: fields `initializer` and `is_named` are never read [INFO] [stdout] --> src/main.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 65 | struct ClassVariable { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 68 | pub initializer: Box, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub access: AccessModifier, [INFO] [stdout] 70 | pub is_named: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClassFunction` is never constructed [INFO] [stdout] --> src/main.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 107 | enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 108 | Class(Class), [INFO] [stdout] 109 | ClassFunction(ClassFunction), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, 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/main.rs:272:21 [INFO] [stdout] | [INFO] [stdout] 265 | let mut methods: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 272 | Expr::Class(self.classes.get(&name.clone()).unwrap().clone()) [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] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 134 | impl Gemstone { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 309 | fn parse_class_function_def(&mut self, tokens: &Vec, index: &mut usize) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn type_checker(&mut self, exprs: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 613 | fn type_check_expr(&mut self, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 621 | fn type_check_function(&mut self, function: &Function) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | fn type_check_variable_declaration(&mut self, variable_declaration: &VariableDeclaration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn type_checker_rename_me(&mut self, first: &Type, second: &Type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn type_checker_get_type(&mut self, expr: &Expr) -> Type { [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/main.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 295 | let var_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 296 | let mut value: Expr = Expr::Empty; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 301 | Expr::ClassVariable(ClassVariable { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 302 | | name, [INFO] [stdout] 303 | | var_type, [INFO] [stdout] 304 | | initializer: Box::new(value), [INFO] [stdout] 305 | | access: access_modifier, [INFO] [stdout] 306 | | is_named [INFO] [stdout] 307 | | }) [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/main.rs:406:24 [INFO] [stdout] | [INFO] [stdout] 377 | let mut args: Vec<(String, Type)> = vec![]; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 393 | let return_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 404 | let body: Expr = self.parse_block(tokens, index); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 405 | self._match(tokens, index, &Token::RightCurly); [INFO] [stdout] 406 | Expr::Function(Function { [INFO] [stdout] | ________________________^ [INFO] [stdout] 407 | | name, [INFO] [stdout] 408 | | args, [INFO] [stdout] 409 | | return_type, [INFO] [stdout] 410 | | body: Box::new(body), [INFO] [stdout] 411 | | }) [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/main.rs:418:21 [INFO] [stdout] | [INFO] [stdout] 414 | let mut exprs: Vec = vec![]; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 418 | Expr::Block(Block { exprs }) [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/main.rs:272:21 [INFO] [stdout] | [INFO] [stdout] 265 | let mut methods: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 272 | Expr::Class(self.classes.get(&name.clone()).unwrap().clone()) [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/main.rs:446:22 [INFO] [stdout] | [INFO] [stdout] 444 | let value: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 445 | self._match(tokens, index, &Token::Semicolon); [INFO] [stdout] 446 | Expr::Return(Box::new(value)) [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/main.rs:461:35 [INFO] [stdout] | [INFO] [stdout] 456 | let var_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 457 | self._match(tokens, index, &Token::Equal); [INFO] [stdout] 458 | let value: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 461 | Expr::VariableDeclaration(self.variables.get(&name).unwrap().clone()) [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/main.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 295 | let var_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 296 | let mut value: Expr = Expr::Empty; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 301 | Expr::ClassVariable(ClassVariable { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 302 | | name, [INFO] [stdout] 303 | | var_type, [INFO] [stdout] 304 | | initializer: Box::new(value), [INFO] [stdout] 305 | | access: access_modifier, [INFO] [stdout] 306 | | is_named [INFO] [stdout] 307 | | }) [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/main.rs:473:19 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 473 | Expr::New(New { class_name, args }) [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/main.rs:406:24 [INFO] [stdout] | [INFO] [stdout] 377 | let mut args: Vec<(String, Type)> = vec![]; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 393 | let return_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 404 | let body: Expr = self.parse_block(tokens, index); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 405 | self._match(tokens, index, &Token::RightCurly); [INFO] [stdout] 406 | Expr::Function(Function { [INFO] [stdout] | ________________________^ [INFO] [stdout] 407 | | name, [INFO] [stdout] 408 | | args, [INFO] [stdout] 409 | | return_type, [INFO] [stdout] 410 | | body: Box::new(body), [INFO] [stdout] 411 | | }) [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/main.rs:418:21 [INFO] [stdout] | [INFO] [stdout] 414 | let mut exprs: Vec = vec![]; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 418 | Expr::Block(Block { exprs }) [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/main.rs:446:22 [INFO] [stdout] | [INFO] [stdout] 444 | let value: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 445 | self._match(tokens, index, &Token::Semicolon); [INFO] [stdout] 446 | Expr::Return(Box::new(value)) [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/main.rs:461:35 [INFO] [stdout] | [INFO] [stdout] 456 | let var_type: Type = self.parse_type(tokens, index); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 457 | self._match(tokens, index, &Token::Equal); [INFO] [stdout] 458 | let value: Expr = self.parse_token(tokens, index); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 461 | Expr::VariableDeclaration(self.variables.get(&name).unwrap().clone()) [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/main.rs:473:19 [INFO] [stdout] | [INFO] [stdout] 472 | let mut args: Vec = vec![]; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 473 | Expr::New(New { class_name, args }) [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 7 previous errors; 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `gemstone-2` (bin "gemstone-2" test) due to 8 previous errors; 14 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `gemstone-2` (bin "gemstone-2") due to 8 previous errors; 14 warnings emitted [INFO] running `Command { std: "docker" "inspect" "fb609b0e196cc312c974fd0fa08fac4dcaaaaefc426c5833842f77d16d58d4f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb609b0e196cc312c974fd0fa08fac4dcaaaaefc426c5833842f77d16d58d4f8", kill_on_drop: false }` [INFO] [stdout] fb609b0e196cc312c974fd0fa08fac4dcaaaaefc426c5833842f77d16d58d4f8