[INFO] cloning repository https://github.com/Sheyne/basic-rust-lisp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sheyne/basic-rust-lisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheyne%2Fbasic-rust-lisp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSheyne%2Fbasic-rust-lisp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9deeb82036c6a75ca2b94109c133159389502543 [INFO] checking Sheyne/basic-rust-lisp/9deeb82036c6a75ca2b94109c133159389502543 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%2FSheyne%2Fbasic-rust-lisp" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Sheyne/basic-rust-lisp 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/Sheyne/basic-rust-lisp [INFO] finished tweaking git repo https://github.com/Sheyne/basic-rust-lisp [INFO] tweaked toml for git repo https://github.com/Sheyne/basic-rust-lisp written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Sheyne/basic-rust-lisp 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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] b267e82cce250c54521dd505ee38c9ed9f0ad36d576e5f78ae2323f8f63e7f0d [INFO] running `Command { std: "docker" "start" "-a" "b267e82cce250c54521dd505ee38c9ed9f0ad36d576e5f78ae2323f8f63e7f0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b267e82cce250c54521dd505ee38c9ed9f0ad36d576e5f78ae2323f8f63e7f0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b267e82cce250c54521dd505ee38c9ed9f0ad36d576e5f78ae2323f8f63e7f0d", kill_on_drop: false }` [INFO] [stdout] b267e82cce250c54521dd505ee38c9ed9f0ad36d576e5f78ae2323f8f63e7f0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] ead58ce98183e5f221af5304aa36702c2e0d26900a8a51798c810d22293ff799 [INFO] running `Command { std: "docker" "start" "-a" "ead58ce98183e5f221af5304aa36702c2e0d26900a8a51798c810d22293ff799", kill_on_drop: false }` [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Checking atomic-counter v1.0.1 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling im v13.0.0 [INFO] [stderr] Checking sized-chunks v0.3.0 [INFO] [stderr] Checking rust_interp v0.1.0 (/opt/rustwide/workdir) [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/typecheck.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 98 | source: Type<'expr, 'symbol>, [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 99 | expected: Type<'expr, 'symbol>, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 100 | constraints: TypeConstraints<'expr, 'symbol>, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 106 | Ok(if source != expected { [INFO] [stdout] | ________^ [INFO] [stdout] 107 | | match &source.typ { [INFO] [stdout] 108 | | TypeOption::Var(left_sym) => { [INFO] [stdout] 109 | | if let TypeOption::Var(right_sym) = &expected.typ { [INFO] [stdout] ... | [INFO] [stdout] 167 | | constraints [INFO] [stdout] 168 | | }) [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/typecheck.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 172 | constraints: TypeConstraints<'expr, 'symbol>, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | t: Type<'expr, 'symbol>, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | Ok(match t.typ { [INFO] [stdout] | ________^ [INFO] [stdout] 180 | | TypeOption::Var(s) => { [INFO] [stdout] 181 | | if let Some(t) = constraints.get(&s) { [INFO] [stdout] 182 | | lookup(constraints.clone(), t.clone(), depth + 1)? [INFO] [stdout] ... | [INFO] [stdout] 198 | | _ => (constraints, t), [INFO] [stdout] 199 | | }) [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/typecheck.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 212 | constraints: TypeConstraints<'expr, 'me>, [INFO] [stdout] | ---------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 228 | Ok(match &e.kind { [INFO] [stdout] | ____________^ [INFO] [stdout] 229 | | ExprKind::Add(left, right) => constrain_binary( [INFO] [stdout] 230 | | left, [INFO] [stdout] 231 | | right, [INFO] [stdout] ... | [INFO] [stdout] 428 | | ExprKind::Id(x) => (constraints, env.get(x).unwrap().clone()), [INFO] [stdout] 429 | | }) [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/typecheck.rs:225:20 [INFO] [stdout] | [INFO] [stdout] 217 | t_in: Type<'expr, 'me>, [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 218 | t_out: Type<'expr, 'me>, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | constraints: TypeConstraints<'expr, 'me>| [INFO] [stdout] | ---------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 220 | -> Result<(TypeConstraints<'expr, 'me>, Type<'expr, 'me>), TypeError> { [INFO] [stdout] 221 | let (constraints, left_t) = self.typecheck(left, env, constraints)?; [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] 222 | let constraints = assert_type(left_t, t_in.clone(), constraints, 0)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | let (constraints, right_t) = self.typecheck(right, env, constraints)?; [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] 224 | let constraints = assert_type(right_t, t_in, constraints, 0)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | Ok(lookup(constraints, t_out, 0)?) [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] | 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] | 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] | 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/typecheck.rs:437:8 [INFO] [stdout] | [INFO] [stdout] 435 | let (_, typ) = checker.typecheck(e, &Default::default(), Default::default())?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 436 | [INFO] [stdout] 437 | Ok(typ.typ.try_into().unwrap()) [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: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_interp` (bin "rust_interp") due to 6 previous errors [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/eval.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 159 | fn not<'a>(l: Expr<'a>) -> Expr<'a> { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 162 | kind: ExprKind::Not(Box::new(l)), [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/eval.rs:168:19 [INFO] [stdout] | [INFO] [stdout] 165 | fn eq<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 168 | kind: ExprKind::Eq(Box::new(l), Box::new(r)), [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/eval.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 171 | fn lt<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 174 | kind: ExprKind::Lt(Box::new(l), Box::new(r)), [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/eval.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 177 | fn gt<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 180 | kind: ExprKind::Gt(Box::new(l), Box::new(r)), [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/eval.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 183 | fn add<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 186 | kind: ExprKind::Add(Box::new(l), Box::new(r)), [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/eval.rs:192:19 [INFO] [stdout] | [INFO] [stdout] 189 | fn sub<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 192 | kind: ExprKind::Sub(Box::new(l), Box::new(r)), [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/eval.rs:198:19 [INFO] [stdout] | [INFO] [stdout] 195 | fn mul<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 198 | kind: ExprKind::Mul(Box::new(l), Box::new(r)), [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/eval.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 201 | fn div<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 204 | kind: ExprKind::Div(Box::new(l), Box::new(r)), [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/eval.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 207 | fn concat<'a>(l: Expr<'a>, r: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 210 | kind: ExprKind::Concat(Box::new(l), Box::new(r)), [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/eval.rs:241:19 [INFO] [stdout] | [INFO] [stdout] 238 | fn lambda<'a>(x: &'a str, e: Expr<'a>) -> Expr<'a> { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 241 | kind: ExprKind::Lambda(x, Box::new(e)), [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/eval.rs:247:19 [INFO] [stdout] | [INFO] [stdout] 244 | fn call<'a>(a: Expr<'a>, b: Expr<'a>) -> Expr<'a> { [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] ... [INFO] [stdout] 247 | kind: ExprKind::Call(Box::new(a), Box::new(b)), [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/eval.rs:294:20 [INFO] [stdout] | [INFO] [stdout] 292 | let env = HashMap::unit("x", Value::Double(14.0)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | [INFO] [stdout] 294 | assert_eq!(eval(&id("x"), &env), Value::Double(14.0)) [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/eval.rs:294:42 [INFO] [stdout] | [INFO] [stdout] 292 | let env = HashMap::unit("x", Value::Double(14.0)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 293 | [INFO] [stdout] 294 | assert_eq!(eval(&id("x"), &env), Value::Double(14.0)) [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/eval.rs:302:20 [INFO] [stdout] | [INFO] [stdout] 300 | let env = HashMap::unit("x", Value::Double(14.0)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 301 | [INFO] [stdout] 302 | assert_eq!(eval(&id("y"), &env), Value::Double(14.0)) [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/eval.rs:302:42 [INFO] [stdout] | [INFO] [stdout] 300 | let env = HashMap::unit("x", Value::Double(14.0)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 301 | [INFO] [stdout] 302 | assert_eq!(eval(&id("y"), &env), Value::Double(14.0)) [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/eval.rs:387:20 [INFO] [stdout] | [INFO] [stdout] 384 | let func = lambda("x", add(double_v(17.0), id("x"))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 385 | let arg = double_v(11.0); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 386 | [INFO] [stdout] 387 | assert_eq!(eval(&call(func, arg), &HashMap::new()), Value::Double(28.0)) [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/eval.rs:387:61 [INFO] [stdout] | [INFO] [stdout] 384 | let func = lambda("x", add(double_v(17.0), id("x"))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 385 | let arg = double_v(11.0); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 386 | [INFO] [stdout] 387 | assert_eq!(eval(&call(func, arg), &HashMap::new()), Value::Double(28.0)) [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/eval.rs:396:20 [INFO] [stdout] | [INFO] [stdout] 392 | let prog = parse("(+ 1 1)"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | assert_eq!(eval(&prog, &HashMap::new()), (Value::Double(2.))) [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/eval.rs:396:50 [INFO] [stdout] | [INFO] [stdout] 392 | let prog = parse("(+ 1 1)"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | assert_eq!(eval(&prog, &HashMap::new()), (Value::Double(2.))) [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/eval.rs:405:20 [INFO] [stdout] | [INFO] [stdout] 401 | let prog = parse("(let x (lambda x (+ x 1)) (x 4))"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 405 | assert_eq!(eval(&prog, &HashMap::new()), Value::Double(5.)) [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/eval.rs:405:50 [INFO] [stdout] | [INFO] [stdout] 401 | let prog = parse("(let x (lambda x (+ x 1)) (x 4))"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 405 | assert_eq!(eval(&prog, &HashMap::new()), Value::Double(5.)) [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/eval.rs:414:20 [INFO] [stdout] | [INFO] [stdout] 410 | let prog = parse("((lambda x (+ x 1)) 3)"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 414 | assert_eq!(eval(&prog, &HashMap::new()), (Value::Double(4.))) [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/eval.rs:414:50 [INFO] [stdout] | [INFO] [stdout] 410 | let prog = parse("((lambda x (+ x 1)) 3)"); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 414 | assert_eq!(eval(&prog, &HashMap::new()), (Value::Double(4.))) [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/eval.rs:426:20 [INFO] [stdout] | [INFO] [stdout] 425 | let nested = parse("(((lambda y (lambda x (+ x y))) 1) 2)"); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 426 | assert_eq!(eval(&nested, &HashMap::new()), Value::Double(3.0)) [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/eval.rs:426:52 [INFO] [stdout] | [INFO] [stdout] 425 | let nested = parse("(((lambda y (lambda x (+ x y))) 1) 2)"); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 426 | assert_eq!(eval(&nested, &HashMap::new()), Value::Double(3.0)) [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/typecheck.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 98 | source: Type<'expr, 'symbol>, [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 99 | expected: Type<'expr, 'symbol>, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 100 | constraints: TypeConstraints<'expr, 'symbol>, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 106 | Ok(if source != expected { [INFO] [stdout] | ________^ [INFO] [stdout] 107 | | match &source.typ { [INFO] [stdout] 108 | | TypeOption::Var(left_sym) => { [INFO] [stdout] 109 | | if let TypeOption::Var(right_sym) = &expected.typ { [INFO] [stdout] ... | [INFO] [stdout] 167 | | constraints [INFO] [stdout] 168 | | }) [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/typecheck.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 172 | constraints: TypeConstraints<'expr, 'symbol>, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 173 | t: Type<'expr, 'symbol>, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | Ok(match t.typ { [INFO] [stdout] | ________^ [INFO] [stdout] 180 | | TypeOption::Var(s) => { [INFO] [stdout] 181 | | if let Some(t) = constraints.get(&s) { [INFO] [stdout] 182 | | lookup(constraints.clone(), t.clone(), depth + 1)? [INFO] [stdout] ... | [INFO] [stdout] 198 | | _ => (constraints, t), [INFO] [stdout] 199 | | }) [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/typecheck.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 212 | constraints: TypeConstraints<'expr, 'me>, [INFO] [stdout] | ---------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 228 | Ok(match &e.kind { [INFO] [stdout] | ____________^ [INFO] [stdout] 229 | | ExprKind::Add(left, right) => constrain_binary( [INFO] [stdout] 230 | | left, [INFO] [stdout] 231 | | right, [INFO] [stdout] ... | [INFO] [stdout] 428 | | ExprKind::Id(x) => (constraints, env.get(x).unwrap().clone()), [INFO] [stdout] 429 | | }) [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/typecheck.rs:225:20 [INFO] [stdout] | [INFO] [stdout] 217 | t_in: Type<'expr, 'me>, [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 218 | t_out: Type<'expr, 'me>, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | constraints: TypeConstraints<'expr, 'me>| [INFO] [stdout] | ---------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 220 | -> Result<(TypeConstraints<'expr, 'me>, Type<'expr, 'me>), TypeError> { [INFO] [stdout] 221 | let (constraints, left_t) = self.typecheck(left, env, constraints)?; [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] 222 | let constraints = assert_type(left_t, t_in.clone(), constraints, 0)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | let (constraints, right_t) = self.typecheck(right, env, constraints)?; [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] 224 | let constraints = assert_type(right_t, t_in, constraints, 0)?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | Ok(lookup(constraints, t_out, 0)?) [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] | 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] | 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] | 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/typecheck.rs:437:8 [INFO] [stdout] | [INFO] [stdout] 435 | let (_, typ) = checker.typecheck(e, &Default::default(), Default::default())?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 436 | [INFO] [stdout] 437 | Ok(typ.typ.try_into().unwrap()) [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: aborting due to 30 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_interp` (bin "rust_interp" test) due to 31 previous errors [INFO] running `Command { std: "docker" "inspect" "ead58ce98183e5f221af5304aa36702c2e0d26900a8a51798c810d22293ff799", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ead58ce98183e5f221af5304aa36702c2e0d26900a8a51798c810d22293ff799", kill_on_drop: false }` [INFO] [stdout] ead58ce98183e5f221af5304aa36702c2e0d26900a8a51798c810d22293ff799