[INFO] cloning repository https://github.com/alekratz/file-lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alekratz/file-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falekratz%2Ffile-lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falekratz%2Ffile-lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1e07753049d39882ee6e9715867c02e3ff86bbdd [INFO] checking alekratz/file-lang/1e07753049d39882ee6e9715867c02e3ff86bbdd 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%2Falekratz%2Ffile-lang" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alekratz/file-lang 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/alekratz/file-lang [INFO] finished tweaking git repo https://github.com/alekratz/file-lang [INFO] tweaked toml for git repo https://github.com/alekratz/file-lang written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/alekratz/file-lang already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 66b069604ddc017783f0d235b5ebf751540252a848db8848df9c3e8f2309ee7c [INFO] running `Command { std: "docker" "start" "-a" "66b069604ddc017783f0d235b5ebf751540252a848db8848df9c3e8f2309ee7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "66b069604ddc017783f0d235b5ebf751540252a848db8848df9c3e8f2309ee7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66b069604ddc017783f0d235b5ebf751540252a848db8848df9c3e8f2309ee7c", kill_on_drop: false }` [INFO] [stdout] 66b069604ddc017783f0d235b5ebf751540252a848db8848df9c3e8f2309ee7c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1cd30daf1edc031e965473aecaacbc1e4ae6f6331ed3ac301bbd8639efb96d6a [INFO] running `Command { std: "docker" "start" "-a" "1cd30daf1edc031e965473aecaacbc1e4ae6f6331ed3ac301bbd8639efb96d6a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling proc-macro2 v1.0.3 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling cc v1.0.42 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling proc-macro2 v0.2.3 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Compiling doc-comment v0.3.1 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling quote v0.4.2 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Compiling syn v0.12.15 [INFO] [stderr] Compiling backtrace-sys v0.1.31 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking backtrace v0.3.37 [INFO] [stderr] Compiling shrinkwraprs v0.2.1 [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stderr] Compiling structopt-derive v0.3.1 [INFO] [stderr] Compiling snafu-derive v0.5.0 [INFO] [stderr] Compiling derivative v1.0.3 [INFO] [stderr] Checking structopt v0.3.1 [INFO] [stderr] Checking snafu v0.5.0 [INFO] [stderr] Checking file-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::util::TypeMap` [INFO] [stdout] --> src/common/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::util::TypeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::util::*` [INFO] [stdout] --> src/common/mod.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::common::*` [INFO] [stdout] --> src/syn/mod.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::common::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `STRING_CHARS` and `STRING_ESCAPE_CHAR` [INFO] [stdout] --> src/syn/mod.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub use super::{STRING_CHARS, STRING_ESCAPE_CHAR}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vm::fun::*` [INFO] [stdout] --> src/compile/constant.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{compile::builtins::*, vm::fun::*}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fun::*` [INFO] [stdout] --> src/compile/translate/constant.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | vm::{fun::*, object::*, value::*}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::prelude::*` [INFO] [stdout] --> src/vm/state.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | common::prelude::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/vm/state.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::util::TypeMap` [INFO] [stdout] --> src/common/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::util::TypeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::util::*` [INFO] [stdout] --> src/common/mod.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::common::*` [INFO] [stdout] --> src/syn/mod.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::common::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `STRING_CHARS` and `STRING_ESCAPE_CHAR` [INFO] [stdout] --> src/syn/mod.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub use super::{STRING_CHARS, STRING_ESCAPE_CHAR}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vm::fun::*` [INFO] [stdout] --> src/compile/constant.rs:1:35 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{compile::builtins::*, vm::fun::*}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fun::*` [INFO] [stdout] --> src/compile/translate/constant.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | vm::{fun::*, object::*, value::*}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::prelude::*` [INFO] [stdout] --> src/vm/state.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | common::prelude::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/vm/state.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/vm/state.rs:44:52 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn call_user_fun(&mut self, fun: &UserFun, args: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/common/span.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl Span { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Bound` is never used [INFO] [stdout] --> src/common/binding.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bound { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mapping` is never read [INFO] [stdout] --> src/common/util.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TypeMap { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | mapping: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `get` are never used [INFO] [stdout] --> src/common/util.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TypeMap { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn insert(&mut self, value: V) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get(&self) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `binary_binding_name` and `unary_binding_name` are never used [INFO] [stdout] --> src/syn/ast.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl Op { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] 313 | pub fn binary_binding_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn unary_binding_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unexpected` is never constructed [INFO] [stdout] --> src/syn/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum SyntaxError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Unexpected { span: Span, what: String }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `text` is never used [INFO] [stdout] --> src/syn/lexer.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 61 | impl<'text> Lexer<'text> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn text(&self) -> &'text str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_ops`, `curr_text`, and `text` are never used [INFO] [stdout] --> src/syn/parser.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl<'text> Parser<'text> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 11 | pub fn parse_ops(text: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn curr_text(&self) -> &'text str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn text(&self) -> &'text str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `un_ops`, `bin_ops`, `assign_ops`, `functions`, `types`, and `type_bindings` are never read [INFO] [stdout] --> src/compile/builtins.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Builtins { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 17 | un_ops: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 18 | bin_ops: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | assign_ops: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | type_bindings: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Builtins` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/compile/builtins.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Builtins { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 26 | pub fn un_ops(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn insert_un_op(&mut self, op: OpList, binding: Binding) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn bin_ops(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn insert_bin_op(&mut self, op: OpList, binding: Binding) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn functions(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn insert_function(&mut self, binding: Binding, fun: BuiltinFun) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn types(&self) -> &HashMap { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn insert_type(&mut self, binding: Binding, ty: BuiltinType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_type(&self) -> Option<&BuiltinType> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPR` is never used [INFO] [stdout] --> src/compile/builtins.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const REPR: &str = "__repr__"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/compile/context/ir.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IrCtx<'t> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 9 | text: &'t str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrCtx` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_constant` and `text` are never used [INFO] [stdout] --> src/compile/context/ir.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl<'t> IrCtx<'t> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_constant(&self, value_ref: ValueRef) -> &ConstValue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn text(&self) -> &'t str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `binding` and `bindings` are never read [INFO] [stdout] --> src/compile/ir.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TypeDef { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 5 | pub span: Span, [INFO] [stdout] 6 | pub binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 7 | pub bindings: Bindings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `params`, `binding`, `bindings`, and `body` are never read [INFO] [stdout] --> src/compile/ir.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FunDef { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 12 | pub span: Span, [INFO] [stdout] 13 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | pub binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub bindings: Bindings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 16 | pub body: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compile/ir.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | Ident(Span, Binding), [INFO] [stdout] | ----- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `LValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 41 | Ident((), Binding), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag` and `string` are never read [INFO] [stdout] --> src/compile/ir.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 94 | TaggedString { tag: String, string: String }, [INFO] [stdout] | ------------ ^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AtomKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body_true` are never read [INFO] [stdout] --> src/compile/ir.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Branch { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 107 | pub span: Span, [INFO] [stdout] 108 | pub condition: Expr, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 109 | pub body_true: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Branch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/compile/ir.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct Loop { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 115 | pub span: Span, [INFO] [stdout] 116 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 117 | pub body: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Loop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `translate_type` and `translate_fun` are never used [INFO] [stdout] --> src/compile/translate/ir.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'t, 'ctx> IrToInst<'t, 'ctx> { [INFO] [stdout] | --------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn translate_type(&mut self, _type_def: &TypeDef) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn translate_fun(&mut self, fun_def: &FunDef) -> UserFun { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `main_function_ref`, `constants`, and `main_function` are never used [INFO] [stdout] --> src/vm/artifact.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Artifact { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn main_function_ref(&self) -> ValueRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn constants(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn main_function(&self) -> &dyn Object { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Partial` is never constructed [INFO] [stdout] --> src/vm/fun.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Fun { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Partial(Vec, ValueRef), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Fun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `binding` and `arity` are never read [INFO] [stdout] --> src/vm/fun.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct UserFun { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | arity: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `binding` and `arity` are never used [INFO] [stdout] --> src/vm/fun.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl UserFun { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn binding(&self) -> Binding { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn arity(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fun`, and `binding` are never used [INFO] [stdout] --> src/vm/fun.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl BuiltinFun { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 108 | pub fn new(binding: Binding, fun: BuiltinFunPtr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn fun(&self) -> &BuiltinFunPtr { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn binding(&self) -> Binding { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `base` is never read [INFO] [stdout] --> src/vm/stack_frame.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct StackFrame { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 9 | /// The stack size before this frame was created. [INFO] [stdout] 10 | pub base: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constants_end` is never read [INFO] [stdout] --> src/vm/storage.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Storage { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | constants_end: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stack_frame`, `stack_frames`, `return_register`, `unset_return_register`, and `free` are never used [INFO] [stdout] --> src/vm/storage.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Storage { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn stack_frame(&self) -> &StackFrame { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn stack_frames(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn return_register(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn unset_return_register(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn free(&mut self, value_ref: ValueRef) { [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/syn/parser.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 108 | let body = Rc::new(self.next_body()?); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | Ok(FunDef { [INFO] [stdout] | ____________^ [INFO] [stdout] 112 | | span, [INFO] [stdout] 113 | | name, [INFO] [stdout] 114 | | params, [INFO] [stdout] 115 | | body, [INFO] [stdout] 116 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/syn/parser.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 146 | let mut member_funs = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | Ok(TypeDef { [INFO] [stdout] | ____________^ [INFO] [stdout] 157 | | span, [INFO] [stdout] 158 | | name, [INFO] [stdout] 159 | | member_funs, [INFO] [stdout] 160 | | }) [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/syn/parser.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 166 | let expr = if self.is_any_lookahead::() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let expr = self.next_expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | Ok(Retn { span, expr }) [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/syn/parser.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 179 | let condition_body = self.next_condition_body()?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 182 | let mut elif_bodies = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 190 | let else_body = if self.is_match(TokenKind::KwEl) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 193 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 201 | Ok(If { [INFO] [stdout] | ____________^ [INFO] [stdout] 202 | | span, [INFO] [stdout] 203 | | condition_body, [INFO] [stdout] 204 | | elif_bodies, [INFO] [stdout] 205 | | else_body, [INFO] [stdout] 206 | | }) [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] | [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/syn/parser.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 210 | let condition = self.next_expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 211 | self.expect_token_kind(TokenKind::LBrace, "left brace")?; [INFO] [stdout] 212 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | Ok(ConditionBody { [INFO] [stdout] | ____________^ [INFO] [stdout] 216 | | span: condition.span().union(&rbrace_token.span()), [INFO] [stdout] 217 | | condition, [INFO] [stdout] 218 | | body, [INFO] [stdout] 219 | | }) [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] | [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/syn/parser.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 224 | let condition_body = self.next_condition_body()?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | let span = start.span().union(&condition_body.span()); [INFO] [stdout] 226 | Ok(While { [INFO] [stdout] | ____________^ [INFO] [stdout] 227 | | span, [INFO] [stdout] 228 | | condition_body, [INFO] [stdout] 229 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/syn/parser.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 235 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 238 | Ok(Loop { span, body }) [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/syn/parser.rs:345:12 [INFO] [stdout] | [INFO] [stdout] 328 | let kind = match token.kind() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 329 | TokenKind::LParen => { [INFO] [stdout] 330 | let expr = self.next_expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 345 | Ok(Expr::Atom( [INFO] [stdout] | ____________^ [INFO] [stdout] 346 | | Atom { [INFO] [stdout] 347 | | span: token.span(), [INFO] [stdout] 348 | | kind, [INFO] [stdout] 349 | | } [INFO] [stdout] 350 | | .into(), [INFO] [stdout] 351 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/compile/context/ast.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(text: &'t str, ast: Vec) -> Self { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 19 | ast: Rc::new(ast), [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/compile/context/ir.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 26 | constants: Default::default(), [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/compile/context/ir.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 28 | functions: functions.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/context/ir.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | ir: ir.into(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/context/ir.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn register_constant(&mut self, value: ConstValue) -> ValueRef { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 74 | self.register_constant_with(|_, _| value) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/translate/ast.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 12 | let ast = Parser::new(text)?.next_body()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 13 | let mut ctx = AstCtx::new(text, ast); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 16 | AstToIr::new(ctx).translate() [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/compile/translate/ast.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(ctx: AstCtx<'t>) -> Self { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 65 | functions: Default::default(), [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/compile/translate/ast.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 70 | fn translate(mut self) -> Result> { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | let ir = self.translate_body(&self.ctx.ast())?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 72 | Ok(IrCtx::new(self.ctx, self.functions, self.types, ir)) [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/compile/translate/ast.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 133 | let lhs = self.translate_lvalue(&assign.lhs)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 151 | let rhs = self.translate_expr(&assign.rhs)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 152 | Ok(Assign { [INFO] [stdout] | ____________^ [INFO] [stdout] 153 | | span: assign.span(), [INFO] [stdout] 154 | | lhs, [INFO] [stdout] 155 | | op, [INFO] [stdout] 156 | | rhs, [INFO] [stdout] 157 | | }) [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] | [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/compile/translate/ast.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 291 | let head = self.translate_expr(head)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 317 | Ok(Access { span, head, tail }) [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/vm/state.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(constants: Vec) -> Self { [INFO] [stdout] | --------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | State { [INFO] [stdout] 16 | storage: Storage::new(constants), [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 19 previous errors; 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `file-lang` (bin "file-lang") due to 20 previous errors; 37 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/vm/state.rs:44:52 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn call_user_fun(&mut self, fun: &UserFun, args: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `len` is never used [INFO] [stdout] --> src/common/span.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl Span { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Bound` is never used [INFO] [stdout] --> src/common/binding.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bound { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mapping` is never read [INFO] [stdout] --> src/common/util.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct TypeMap { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | mapping: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `get` are never used [INFO] [stdout] --> src/common/util.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TypeMap { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn insert(&mut self, value: V) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get(&self) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `binary_binding_name` and `unary_binding_name` are never used [INFO] [stdout] --> src/syn/ast.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 312 | impl Op { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] 313 | pub fn binary_binding_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn unary_binding_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unexpected` is never constructed [INFO] [stdout] --> src/syn/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum SyntaxError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Unexpected { span: Span, what: String }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `text` is never used [INFO] [stdout] --> src/syn/lexer.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 61 | impl<'text> Lexer<'text> { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn text(&self) -> &'text str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_ops`, `curr_text`, and `text` are never used [INFO] [stdout] --> src/syn/parser.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl<'text> Parser<'text> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 11 | pub fn parse_ops(text: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn curr_text(&self) -> &'text str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn text(&self) -> &'text str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `un_ops`, `bin_ops`, `assign_ops`, `functions`, `types`, and `type_bindings` are never read [INFO] [stdout] --> src/compile/builtins.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Builtins { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 17 | un_ops: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 18 | bin_ops: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | assign_ops: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | type_bindings: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Builtins` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/compile/builtins.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl Builtins { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 26 | pub fn un_ops(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn insert_un_op(&mut self, op: OpList, binding: Binding) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn bin_ops(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn insert_bin_op(&mut self, op: OpList, binding: Binding) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn functions(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn insert_function(&mut self, binding: Binding, fun: BuiltinFun) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn types(&self) -> &HashMap { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn insert_type(&mut self, binding: Binding, ty: BuiltinType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_type(&self) -> Option<&BuiltinType> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REPR` is never used [INFO] [stdout] --> src/compile/builtins.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const REPR: &str = "__repr__"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/compile/context/ir.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IrCtx<'t> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 9 | text: &'t str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrCtx` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_constant` and `text` are never used [INFO] [stdout] --> src/compile/context/ir.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl<'t> IrCtx<'t> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_constant(&self, value_ref: ValueRef) -> &ConstValue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn text(&self) -> &'t str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `binding` and `bindings` are never read [INFO] [stdout] --> src/compile/ir.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TypeDef { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 5 | pub span: Span, [INFO] [stdout] 6 | pub binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 7 | pub bindings: Bindings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `params`, `binding`, `bindings`, and `body` are never read [INFO] [stdout] --> src/compile/ir.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FunDef { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 12 | pub span: Span, [INFO] [stdout] 13 | pub params: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | pub binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub bindings: Bindings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 16 | pub body: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compile/ir.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | Ident(Span, Binding), [INFO] [stdout] | ----- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `LValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 41 | Ident((), Binding), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag` and `string` are never read [INFO] [stdout] --> src/compile/ir.rs:94:20 [INFO] [stdout] | [INFO] [stdout] 94 | TaggedString { tag: String, string: String }, [INFO] [stdout] | ------------ ^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AtomKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body_true` are never read [INFO] [stdout] --> src/compile/ir.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct Branch { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 107 | pub span: Span, [INFO] [stdout] 108 | pub condition: Expr, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 109 | pub body_true: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Branch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `condition` and `body` are never read [INFO] [stdout] --> src/compile/ir.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct Loop { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 115 | pub span: Span, [INFO] [stdout] 116 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 117 | pub body: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Loop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `translate_type` and `translate_fun` are never used [INFO] [stdout] --> src/compile/translate/ir.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'t, 'ctx> IrToInst<'t, 'ctx> { [INFO] [stdout] | --------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn translate_type(&mut self, _type_def: &TypeDef) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn translate_fun(&mut self, fun_def: &FunDef) -> UserFun { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `main_function_ref`, `constants`, and `main_function` are never used [INFO] [stdout] --> src/vm/artifact.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Artifact { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn main_function_ref(&self) -> ValueRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn constants(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn main_function(&self) -> &dyn Object { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Partial` is never constructed [INFO] [stdout] --> src/vm/fun.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Fun { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Partial(Vec, ValueRef), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Fun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `binding` and `arity` are never read [INFO] [stdout] --> src/vm/fun.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct UserFun { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | binding: Binding, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | arity: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `binding` and `arity` are never used [INFO] [stdout] --> src/vm/fun.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl UserFun { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn binding(&self) -> Binding { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn arity(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fun`, and `binding` are never used [INFO] [stdout] --> src/vm/fun.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl BuiltinFun { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 108 | pub fn new(binding: Binding, fun: BuiltinFunPtr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn fun(&self) -> &BuiltinFunPtr { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn binding(&self) -> Binding { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `base` is never read [INFO] [stdout] --> src/vm/stack_frame.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct StackFrame { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 9 | /// The stack size before this frame was created. [INFO] [stdout] 10 | pub base: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constants_end` is never read [INFO] [stdout] --> src/vm/storage.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Storage { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | constants_end: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stack_frame`, `stack_frames`, `return_register`, `unset_return_register`, and `free` are never used [INFO] [stdout] --> src/vm/storage.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Storage { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn stack_frame(&self) -> &StackFrame { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn stack_frames(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn return_register(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn unset_return_register(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn free(&mut self, value_ref: ValueRef) { [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/syn/parser.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 108 | let body = Rc::new(self.next_body()?); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | Ok(FunDef { [INFO] [stdout] | ____________^ [INFO] [stdout] 112 | | span, [INFO] [stdout] 113 | | name, [INFO] [stdout] 114 | | params, [INFO] [stdout] 115 | | body, [INFO] [stdout] 116 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/syn/parser.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 146 | let mut member_funs = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | Ok(TypeDef { [INFO] [stdout] | ____________^ [INFO] [stdout] 157 | | span, [INFO] [stdout] 158 | | name, [INFO] [stdout] 159 | | member_funs, [INFO] [stdout] 160 | | }) [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/syn/parser.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 166 | let expr = if self.is_any_lookahead::() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let expr = self.next_expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | Ok(Retn { span, expr }) [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/syn/parser.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 179 | let condition_body = self.next_condition_body()?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 182 | let mut elif_bodies = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 190 | let else_body = if self.is_match(TokenKind::KwEl) { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 193 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 201 | Ok(If { [INFO] [stdout] | ____________^ [INFO] [stdout] 202 | | span, [INFO] [stdout] 203 | | condition_body, [INFO] [stdout] 204 | | elif_bodies, [INFO] [stdout] 205 | | else_body, [INFO] [stdout] 206 | | }) [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] | [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/syn/parser.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 210 | let condition = self.next_expr()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 211 | self.expect_token_kind(TokenKind::LBrace, "left brace")?; [INFO] [stdout] 212 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | Ok(ConditionBody { [INFO] [stdout] | ____________^ [INFO] [stdout] 216 | | span: condition.span().union(&rbrace_token.span()), [INFO] [stdout] 217 | | condition, [INFO] [stdout] 218 | | body, [INFO] [stdout] 219 | | }) [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] | [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/syn/parser.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 224 | let condition_body = self.next_condition_body()?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 225 | let span = start.span().union(&condition_body.span()); [INFO] [stdout] 226 | Ok(While { [INFO] [stdout] | ____________^ [INFO] [stdout] 227 | | span, [INFO] [stdout] 228 | | condition_body, [INFO] [stdout] 229 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/syn/parser.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 235 | let body = self.next_body()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 238 | Ok(Loop { span, body }) [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/syn/parser.rs:345:12 [INFO] [stdout] | [INFO] [stdout] 328 | let kind = match token.kind() { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 329 | TokenKind::LParen => { [INFO] [stdout] 330 | let expr = self.next_expr()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 345 | Ok(Expr::Atom( [INFO] [stdout] | ____________^ [INFO] [stdout] 346 | | Atom { [INFO] [stdout] 347 | | span: token.span(), [INFO] [stdout] 348 | | kind, [INFO] [stdout] 349 | | } [INFO] [stdout] 350 | | .into(), [INFO] [stdout] 351 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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/compile/context/ast.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(text: &'t str, ast: Vec) -> Self { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 19 | ast: Rc::new(ast), [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/compile/context/ir.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 26 | constants: Default::default(), [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/compile/context/ir.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 28 | functions: functions.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/context/ir.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 19 | AstCtx { text, bindings, .. }: AstCtx<'t>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | functions: HashMap, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | types: HashMap, [INFO] [stdout] 22 | ir: Vec, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | ir: ir.into(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/context/ir.rs:74:37 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn register_constant(&mut self, value: ConstValue) -> ValueRef { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 74 | self.register_constant_with(|_, _| value) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compile/translate/ast.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 12 | let ast = Parser::new(text)?.next_body()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 13 | let mut ctx = AstCtx::new(text, ast); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 16 | AstToIr::new(ctx).translate() [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/compile/translate/ast.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(ctx: AstCtx<'t>) -> Self { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 65 | functions: Default::default(), [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/compile/translate/ast.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 70 | fn translate(mut self) -> Result> { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | let ir = self.translate_body(&self.ctx.ast())?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 72 | Ok(IrCtx::new(self.ctx, self.functions, self.types, ir)) [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/compile/translate/ast.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 133 | let lhs = self.translate_lvalue(&assign.lhs)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 151 | let rhs = self.translate_expr(&assign.rhs)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 152 | Ok(Assign { [INFO] [stdout] | ____________^ [INFO] [stdout] 153 | | span: assign.span(), [INFO] [stdout] 154 | | lhs, [INFO] [stdout] 155 | | op, [INFO] [stdout] 156 | | rhs, [INFO] [stdout] 157 | | }) [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] | [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/compile/translate/ast.rs:317:12 [INFO] [stdout] | [INFO] [stdout] 291 | let head = self.translate_expr(head)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 317 | Ok(Access { span, head, tail }) [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/vm/state.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(constants: Vec) -> Self { [INFO] [stdout] | --------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | State { [INFO] [stdout] 16 | storage: Storage::new(constants), [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 19 previous errors; 37 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `file-lang` (bin "file-lang" test) due to 20 previous errors; 37 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1cd30daf1edc031e965473aecaacbc1e4ae6f6331ed3ac301bbd8639efb96d6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1cd30daf1edc031e965473aecaacbc1e4ae6f6331ed3ac301bbd8639efb96d6a", kill_on_drop: false }` [INFO] [stdout] 1cd30daf1edc031e965473aecaacbc1e4ae6f6331ed3ac301bbd8639efb96d6a