[INFO] cloning repository https://github.com/ccdavis/schemer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ccdavis/schemer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fccdavis%2Fschemer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fccdavis%2Fschemer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 239bd879a26382a290c58063c9ea1926766f4ae5 [INFO] checking ccdavis/schemer/239bd879a26382a290c58063c9ea1926766f4ae5 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%2Fccdavis%2Fschemer" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ccdavis/schemer 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/ccdavis/schemer [INFO] finished tweaking git repo https://github.com/ccdavis/schemer [INFO] tweaked toml for git repo https://github.com/ccdavis/schemer written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ccdavis/schemer 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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 33f6ce2650d20c0d3a1957f281642238ce8c1a96f2c678787c6eb624397af5e9 [INFO] running `Command { std: "docker" "start" "-a" "33f6ce2650d20c0d3a1957f281642238ce8c1a96f2c678787c6eb624397af5e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33f6ce2650d20c0d3a1957f281642238ce8c1a96f2c678787c6eb624397af5e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33f6ce2650d20c0d3a1957f281642238ce8c1a96f2c678787c6eb624397af5e9", kill_on_drop: false }` [INFO] [stdout] 33f6ce2650d20c0d3a1957f281642238ce8c1a96f2c678787c6eb624397af5e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 687f3f57f5994618f15b3b232637c927b0f7b27679ace1f62ff29b26ec7e8d15 [INFO] running `Command { std: "docker" "start" "-a" "687f3f57f5994618f15b3b232637c927b0f7b27679ace1f62ff29b26ec7e8d15", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking utf8parse v0.2.0 [INFO] [stderr] Checking strum v0.21.0 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking fd-lock v2.0.0 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Compiling strum_macros v0.21.1 [INFO] [stderr] Checking rustyline v8.2.0 [INFO] [stderr] Checking rs_lisp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/interpreter.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/interpreter.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> src/interpreter.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/interpreter.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:352:30 [INFO] [stdout] | [INFO] [stdout] 352 | Cell::Symbol(number, symbol) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:456:38 [INFO] [stdout] | [INFO] [stdout] 456 | Cell::Symbol(number, name) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_id` [INFO] [stdout] --> src/interpreter.rs:458:33 [INFO] [stdout] | [INFO] [stdout] 458 | ... let def_id = self.define(name, evaluated_value)?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:471:46 [INFO] [stdout] | [INFO] [stdout] 471 | ... Cell::Symbol(number, name) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_id` [INFO] [stdout] --> src/interpreter.rs:475:41 [INFO] [stdout] | [INFO] [stdout] 475 | ... let def_id = self.define(name, value); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_number` [INFO] [stdout] --> src/interpreter.rs:592:14 [INFO] [stdout] | [INFO] [stdout] 592 | let (local_number, name) = match variable_to_change { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:682:9 [INFO] [stdout] | [INFO] [stdout] 682 | number: i32, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 756 | Greater => self.eval_greater(list), [INFO] [stdout] | ------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 763 | Greater => Err(not_implemented), [INFO] [stdout] | ^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:352:30 [INFO] [stdout] | [INFO] [stdout] 352 | Cell::Symbol(number, symbol) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:456:38 [INFO] [stdout] | [INFO] [stdout] 456 | Cell::Symbol(number, name) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_id` [INFO] [stdout] --> src/interpreter.rs:458:33 [INFO] [stdout] | [INFO] [stdout] 458 | ... let def_id = self.define(name, evaluated_value)?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:471:46 [INFO] [stdout] | [INFO] [stdout] 471 | ... Cell::Symbol(number, name) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_id` [INFO] [stdout] --> src/interpreter.rs:475:41 [INFO] [stdout] | [INFO] [stdout] 475 | ... let def_id = self.define(name, value); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `special_form` [INFO] [stdout] --> src/primitives.rs:214:27 [INFO] [stdout] | [INFO] [stdout] 214 | Cell::Special(special_form) => String::from("Special form"), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_special_form` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/primitives.rs:215:24 [INFO] [stdout] | [INFO] [stdout] 215 | Cell::Core(func) => String::from("core-function"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_number` [INFO] [stdout] --> src/interpreter.rs:592:14 [INFO] [stdout] | [INFO] [stdout] 592 | let (local_number, name) = match variable_to_change { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `number` [INFO] [stdout] --> src/interpreter.rs:682:9 [INFO] [stdout] | [INFO] [stdout] 682 | number: i32, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/main.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let results = interpret_top_level(code, &mut envr); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `number_list` is never used [INFO] [stdout] --> src/main.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn number_list() -> List { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_tests` is never used [INFO] [stdout] --> src/main.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn run_tests() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extend_environment` is never used [INFO] [stdout] --> src/interpreter.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn extend_environment<'a>(env: &'a mut Environment) -> Environment<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `make_from_cells` is never used [INFO] [stdout] --> src/list.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl List { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn make_from_cells(objects: Vec) -> List { [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:21:11 [INFO] [stdout] | [INFO] [stdout] 20 | let p = parser::Parser::new(); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | match p.parse_tokens(&parser::tokenize(program)) { [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/interpreter.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 137 | fn add(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 138 | self.add_to(Cell::Int(0), list) [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/interpreter.rs:164:45 [INFO] [stdout] | [INFO] [stdout] 161 | fn subtract(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | let first_item = self.evaluate(*list.first())?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | let leftmost_number = first_item.as_number()?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | self.subtract_from(leftmost_number, list.rest()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/interpreter.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 188 | fn multiply(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 189 | self.multiply_by(Cell::Int(1), list) [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/interpreter.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 366 | fn evaluate_output(&mut self, args: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 367 | let results = self.eval_each(args)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 377 | Ok(SExpression::Cell(Cell::Str(printed_results))) [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/interpreter.rs:609:12 [INFO] [stdout] | [INFO] [stdout] 575 | fn evaluate_set(&mut self, args: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 580 | let variable_to_change = *args.first(); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 581 | let change_to = args.rest(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 590 | let change_to_value = self.evaluate(*change_to.first())?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 593 | SExpression::Cell(c) => match c { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 609 | Ok(SExpression::Cell(Cell::Int(number as i64))) [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/interpreter.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 647 | fn eval_each_return_last(&mut self, exprs: List) -> Result { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 648 | let results = self.eval_each(exprs)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 649 | Ok(results[results.len() - 1].clone()) [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] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | / match *name { [INFO] [stdout] 669 | | SExpression::Cell(Cell::Symbol(_, n)) => self.define(n, value), [INFO] [stdout] 670 | | _ => panic!( [INFO] [stdout] 671 | | "A parameter name must be a symbol but you used {}", [INFO] [stdout] 672 | | &*name.print() [INFO] [stdout] 673 | | ), [INFO] [stdout] 674 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 668 | let _ = match *name { [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/list.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn cons(object: SExpression, list: Link) -> Link { [INFO] [stdout] | ------------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | Link::Data(Box::::new(Pair { [INFO] [stdout] | ________________^ [INFO] [stdout] 19 | | car: Box::::new(object), [INFO] [stdout] 20 | | cdr: list, [INFO] [stdout] 21 | | })) [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:763:13 [INFO] [stdout] | [INFO] [stdout] 756 | Greater => self.eval_greater(list), [INFO] [stdout] | ------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 763 | Greater => Err(not_implemented), [INFO] [stdout] | ^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rs_lisp` (bin "rs_lisp" test) due to 9 previous errors; 18 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `special_form` [INFO] [stdout] --> src/primitives.rs:214:27 [INFO] [stdout] | [INFO] [stdout] 214 | Cell::Special(special_form) => String::from("Special form"), [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_special_form` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/primitives.rs:215:24 [INFO] [stdout] | [INFO] [stdout] 215 | Cell::Core(func) => String::from("core-function"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/main.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let results = interpret_top_level(code, &mut envr); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `number_list` is never used [INFO] [stdout] --> src/main.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn number_list() -> List { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_tests` is never used [INFO] [stdout] --> src/main.rs:123:4 [INFO] [stdout] | [INFO] [stdout] 123 | fn run_tests() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extend_environment` is never used [INFO] [stdout] --> src/interpreter.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn extend_environment<'a>(env: &'a mut Environment) -> Environment<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `make_from_cells` is never used [INFO] [stdout] --> src/list.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl List { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn make_from_cells(objects: Vec) -> List { [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:21:11 [INFO] [stdout] | [INFO] [stdout] 20 | let p = parser::Parser::new(); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | match p.parse_tokens(&parser::tokenize(program)) { [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/interpreter.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 137 | fn add(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 138 | self.add_to(Cell::Int(0), list) [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/interpreter.rs:164:45 [INFO] [stdout] | [INFO] [stdout] 161 | fn subtract(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | let first_item = self.evaluate(*list.first())?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 163 | let leftmost_number = first_item.as_number()?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 164 | self.subtract_from(leftmost_number, list.rest()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/interpreter.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 188 | fn multiply(&mut self, list: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 189 | self.multiply_by(Cell::Int(1), list) [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/interpreter.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 366 | fn evaluate_output(&mut self, args: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 367 | let results = self.eval_each(args)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 377 | Ok(SExpression::Cell(Cell::Str(printed_results))) [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/interpreter.rs:609:12 [INFO] [stdout] | [INFO] [stdout] 575 | fn evaluate_set(&mut self, args: List) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 580 | let variable_to_change = *args.first(); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 581 | let change_to = args.rest(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 590 | let change_to_value = self.evaluate(*change_to.first())?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 593 | SExpression::Cell(c) => match c { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 609 | Ok(SExpression::Cell(Cell::Int(number as i64))) [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/interpreter.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 647 | fn eval_each_return_last(&mut self, exprs: List) -> Result { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 648 | let results = self.eval_each(exprs)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 649 | Ok(results[results.len() - 1].clone()) [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] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | / match *name { [INFO] [stdout] 669 | | SExpression::Cell(Cell::Symbol(_, n)) => self.define(n, value), [INFO] [stdout] 670 | | _ => panic!( [INFO] [stdout] 671 | | "A parameter name must be a symbol but you used {}", [INFO] [stdout] 672 | | &*name.print() [INFO] [stdout] 673 | | ), [INFO] [stdout] 674 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 668 | let _ = match *name { [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/list.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn cons(object: SExpression, list: Link) -> Link { [INFO] [stdout] | ------------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | Link::Data(Box::::new(Pair { [INFO] [stdout] | ________________^ [INFO] [stdout] 19 | | car: Box::::new(object), [INFO] [stdout] 20 | | cdr: list, [INFO] [stdout] 21 | | })) [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 8 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rs_lisp` (bin "rs_lisp") due to 9 previous errors; 18 warnings emitted [INFO] running `Command { std: "docker" "inspect" "687f3f57f5994618f15b3b232637c927b0f7b27679ace1f62ff29b26ec7e8d15", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "687f3f57f5994618f15b3b232637c927b0f7b27679ace1f62ff29b26ec7e8d15", kill_on_drop: false }` [INFO] [stdout] 687f3f57f5994618f15b3b232637c927b0f7b27679ace1f62ff29b26ec7e8d15