[INFO] cloning repository https://github.com/Emmatipate/jack-compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Emmatipate/jack-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmmatipate%2Fjack-compiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmmatipate%2Fjack-compiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0f680e6405c61de89a1e0ede66651c0a02292be7 [INFO] checking Emmatipate/jack-compiler/0f680e6405c61de89a1e0ede66651c0a02292be7 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%2FEmmatipate%2Fjack-compiler" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Emmatipate/jack-compiler on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Emmatipate/jack-compiler [INFO] finished tweaking git repo https://github.com/Emmatipate/jack-compiler [INFO] tweaked toml for git repo https://github.com/Emmatipate/jack-compiler written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Emmatipate/jack-compiler already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 74588614789cd5024c6dd56f592ba837ac86a70abbfe6e59caa1d7bec43734c4 [INFO] running `Command { std: "docker" "start" "-a" "74588614789cd5024c6dd56f592ba837ac86a70abbfe6e59caa1d7bec43734c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74588614789cd5024c6dd56f592ba837ac86a70abbfe6e59caa1d7bec43734c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74588614789cd5024c6dd56f592ba837ac86a70abbfe6e59caa1d7bec43734c4", kill_on_drop: false }` [INFO] [stdout] 74588614789cd5024c6dd56f592ba837ac86a70abbfe6e59caa1d7bec43734c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5361e7fa7bdccdb0519e089e3fe3a2c0f7ed8ccdffda1114156e6cbed093eaec [INFO] running `Command { std: "docker" "start" "-a" "5361e7fa7bdccdb0519e089e3fe3a2c0f7ed8ccdffda1114156e6cbed093eaec", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking jackcompiler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/jack_analyzer.rs:55:39 [INFO] [stdout] | [INFO] [stdout] 55 | ... Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/jack_analyzer.rs:62:39 [INFO] [stdout] | [INFO] [stdout] 62 | ... Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/jack_analyzer.rs:55:39 [INFO] [stdout] | [INFO] [stdout] 55 | ... Error::description(&why)), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/jack_analyzer.rs:62:39 [INFO] [stdout] | [INFO] [stdout] 62 | ... Error::description(&why)), [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/jack_analyzer.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 53 | let mut file = match File::open(&path) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | Err(why) => panic!("Couldn't open file {}: {}", display, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | Error::description(&why)), [INFO] [stdout] 56 | Ok(file) => file, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 70 | symbols: [ [INFO] [stdout] | ______________________^ [INFO] [stdout] 71 | | '{', '}', '(', ')', '[', ']', '.', [INFO] [stdout] 72 | | ',', ';', '+', '-', '*', '/', '&', [INFO] [stdout] 73 | | '|', '<', '>', '=', '~', [INFO] [stdout] 74 | | ].iter().cloned().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] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | _ => panic!(format!("symbol {} does not have an associated command", sym)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 36 - _ => panic!(format!("symbol {} does not have an associated command", sym)) [INFO] [stdout] 36 + _ => panic!("symbol {} does not have an associated command", sym) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:223:33 [INFO] [stdout] | [INFO] [stdout] 223 | other => panic!("Invalid keyword at start of statement: ".to_string() + [INFO] [stdout] | _________________________________^ [INFO] [stdout] 224 | | keyword_to_str(&other)), [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 223 | other => panic!("{}", "Invalid keyword at start of statement: ".to_string() + [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | panic!(format!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 248 - panic!(format!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] 248 + panic!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:268:20 [INFO] [stdout] | [INFO] [stdout] 268 | panic!(format!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 268 - panic!(format!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] 268 + panic!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:545:24 [INFO] [stdout] | [INFO] [stdout] 545 | panic!(format!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 545 - panic!(format!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer))); [INFO] [stdout] 545 + panic!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `jackcompiler` (bin "jackcompiler") due to 2 previous errors; 7 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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/jack_analyzer.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 53 | let mut file = match File::open(&path) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | Err(why) => panic!("Couldn't open file {}: {}", display, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | Error::description(&why)), [INFO] [stdout] 56 | Ok(file) => file, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 70 | symbols: [ [INFO] [stdout] | ______________________^ [INFO] [stdout] 71 | | '{', '}', '(', ')', '[', ']', '.', [INFO] [stdout] 72 | | ',', ';', '+', '-', '*', '/', '&', [INFO] [stdout] 73 | | '|', '<', '>', '=', '~', [INFO] [stdout] 74 | | ].iter().cloned().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] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | _ => panic!(format!("symbol {} does not have an associated command", sym)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 36 - _ => panic!(format!("symbol {} does not have an associated command", sym)) [INFO] [stdout] 36 + _ => panic!("symbol {} does not have an associated command", sym) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:223:33 [INFO] [stdout] | [INFO] [stdout] 223 | other => panic!("Invalid keyword at start of statement: ".to_string() + [INFO] [stdout] | _________________________________^ [INFO] [stdout] 224 | | keyword_to_str(&other)), [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 223 | other => panic!("{}", "Invalid keyword at start of statement: ".to_string() + [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:248:24 [INFO] [stdout] | [INFO] [stdout] 248 | panic!(format!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 248 - panic!(format!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] 248 + panic!("Expected ( after function name. found {} instead", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `jackcompiler` (bin "jackcompiler" test) due to 2 previous errors; 7 warnings emitted [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:268:20 [INFO] [stdout] | [INFO] [stdout] 268 | panic!(format!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 268 - panic!(format!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer))); [INFO] [stdout] 268 + panic!("Expected ) after function name. found {} instead", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/compilation_engine.rs:545:24 [INFO] [stdout] | [INFO] [stdout] 545 | panic!(format!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 545 - panic!(format!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer))); [INFO] [stdout] 545 + panic!("Unexpected token inside expression term {}", make_tag_string(&self.analyzer)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5361e7fa7bdccdb0519e089e3fe3a2c0f7ed8ccdffda1114156e6cbed093eaec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5361e7fa7bdccdb0519e089e3fe3a2c0f7ed8ccdffda1114156e6cbed093eaec", kill_on_drop: false }` [INFO] [stdout] 5361e7fa7bdccdb0519e089e3fe3a2c0f7ed8ccdffda1114156e6cbed093eaec