[INFO] cloning repository https://github.com/4b1dden/forklift [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/4b1dden/forklift" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4b1dden%2Fforklift'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9ff59a8d910776aefb5d8eacc91c51d538ffc115 [INFO] checking 4b1dden/forklift/9ff59a8d910776aefb5d8eacc91c51d538ffc115 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%2F4b1dden%2Fforklift" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/4b1dden/forklift 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/4b1dden/forklift [INFO] finished tweaking git repo https://github.com/4b1dden/forklift [INFO] tweaked toml for git repo https://github.com/4b1dden/forklift written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/4b1dden/forklift 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] be22ff759d36e91028dfeef808bfedca2052826488a78c1ef334b4e700ef66e5 [INFO] running `Command { std: "docker" "start" "-a" "be22ff759d36e91028dfeef808bfedca2052826488a78c1ef334b4e700ef66e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "be22ff759d36e91028dfeef808bfedca2052826488a78c1ef334b4e700ef66e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be22ff759d36e91028dfeef808bfedca2052826488a78c1ef334b4e700ef66e5", kill_on_drop: false }` [INFO] [stdout] be22ff759d36e91028dfeef808bfedca2052826488a78c1ef334b4e700ef66e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] a5d899ad4644f28e243fc3b2b8f558d2fd57717635a5b71ba1b59448c59db407 [INFO] running `Command { std: "docker" "start" "-a" "a5d899ad4644f28e243fc3b2b8f558d2fd57717635a5b71ba1b59448c59db407", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Checking ordered-float v3.0.0 [INFO] [stderr] Checking forklift v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufWriter` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::BufWriter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Identifier`, `LiteralExpr`, `either_polymorphic`, and `either` [INFO] [stdout] --> src/grammar.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | any_of_monomorphic, either, either_polymorphic, end_with_semicolon, parse_binary_expression, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6 | triplet, zero_or_more, BoxedParser, Expr, FnDef, ForLoop, Identifier, IfBlock, LetBinding, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | LiteralExpr, ParseResult, Parser, Reassignment, WhileLoop, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/interpreter/declaration.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ensure_is_identifier` [INFO] [stdout] --> src/interpreter/declaration.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::parser::{ensure_is_identifier, Expr, LetBinding, LiteralExpr, Reassignment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/interpreter/expr.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub` [INFO] [stdout] --> src/interpreter/expr.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::{Add, Deref, Div, Mul, Sub}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LetBinding` [INFO] [stdout] --> src/interpreter/expr.rs:15:84 [INFO] [stdout] | [INFO] [stdout] 15 | BinaryExpr, BinaryOperator, Expr, FnCall, FnDef, ForLoop, Identifier, IfBlock, LetBinding, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:332:10 [INFO] [stdout] | [INFO] [stdout] 332 | pub enum FL_T { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FlT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Primitive` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:379:10 [INFO] [stdout] | [INFO] [stdout] 379 | pub enum FL_T_Primitive { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTPrimitive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Callable` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub struct FL_T_Callable { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Callable_Body` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:405:10 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum FL_T_Callable_Body { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallableBody` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FL_T` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | FL_T(Statement), // FL_T [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FlT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Callable_Native` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:411:10 [INFO] [stdout] | [INFO] [stdout] 411 | pub enum Callable_Native { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallableNative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Bool` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:449:10 [INFO] [stdout] | [INFO] [stdout] 449 | pub enum FL_T_Bool { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `FlTBool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/interpreter/expr.test.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FL_T_Primitive`, `FL_T`, and `desugar_for_loop_to_while_block` [INFO] [stdout] --> src/interpreter/expr.test.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{desugar_for_loop_to_while_block, FL_T_Primitive, FL_T}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Declaration` and `Statement` [INFO] [stdout] --> src/interpreter/expr.test.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::grammar::{Declaration, Statement}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InterpreterResult` and `Interpreter` [INFO] [stdout] --> src/interpreter/expr.test.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::interpreter::{Environment, Interpreter, InterpreterResult}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryExpr`, `BinaryOperator`, `Expr`, `ForLoop`, `Identifier`, `LetBinding`, `LiteralExpr`, `Number`, `Reassignment`, `StringLiteral`, `UnaryExpr`, and `UnaryOperator` [INFO] [stdout] --> src/interpreter/expr.test.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | BinaryExpr, BinaryOperator, Expr, ForLoop, Identifier, LetBinding, LiteralExpr, Number, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] 10 | Reassignment, StringLiteral, UnaryExpr, UnaryOperator, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/interpreter/main.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{RefCell, Ref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Identifier` [INFO] [stdout] --> src/interpreter/main.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::parser::{Expr, Identifier}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Declaration` and `FL_T_Callable` [INFO] [stdout] --> src/interpreter/main.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | grammar::{Declaration, Program}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | interpreter::{FL_T_Callable, InterpreterResult, FL_T}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Callable_Native` and `FL_T_Callable_Body` [INFO] [stdout] --> src/interpreter/main.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | use super::{Callable_Native, FL_T_Callable_Body}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `resolver::*` [INFO] [stdout] --> src/interpreter/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use resolver::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParseResult` [INFO] [stdout] --> src/parser/combinators.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::{map, BoxedParser, ParseResult, Parser}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/parser/combinators.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | if let (Ok(_)) = result { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - if let (Ok(_)) = result { [INFO] [stdout] 92 + if let Ok(_) = result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `either`, `left`, `parse_identifier`, `parse_number`, `right`, and `sequence_of_monomorphic` [INFO] [stdout] --> src/parser/parser.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | any_of_monomorphic, either, left, one_or_more, optional, pair, parse_expr, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] 5 | parse_grouping_expr_2, parse_identifier, parse_literal, parse_number, parse_string_literal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 6 | right, sequence_of_monomorphic, triplet, zero_or_more, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wrapped_scope` [INFO] [stdout] --> src/parser/primitives.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | wrapped_scope, Declaration, Statement, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `and_then`, `either`, `optional_whitespace`, and `parse_function_call` [INFO] [stdout] --> src/parser/primitives.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | and_then, at_least_one_whitespace, either, optional_whitespace, parse_binary_expression, [INFO] [stdout] | ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parse_expr_literal, parse_function_call, parse_unary_expression, sequence_of_monomorphic, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map` [INFO] [stdout] --> src/parser/primitives.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | any_of_monomorphic, map, optional, pair, parse_function_call_for_expr, triplet, ParseResult, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INTERPRETER_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | pub enum INTERPRETER_ERROR { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpreterError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | INTERPRET_COMPILE_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | INTERPRET_RUNTIME_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LexerError` and `tokenize` [INFO] [stdout] --> src/vm/compiler.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vm::scanner::{tokenize, LexedToken, Lexer, LexerError, TokenKind}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_SUBTRACT` [INFO] [stdout] --> src/vm/compiler.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | Chunk, OpCode, Value, OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN, OP_SUBTRACT, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::grammar::parse_declaration` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::grammar::parse_declaration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BoxedParser` and `Expr` [INFO] [stdout] --> src/main.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::parser::{BoxedParser, Expr, Parser}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err1` [INFO] [stdout] --> src/parser/combinators.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | Err(err1) => match parser2.parse(input) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_err1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/parser/combinators.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut results = Vec::::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser/combinators.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rest = input; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/combinators.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut results = Vec::::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/combinators.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rest = input; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufWriter` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::BufWriter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Identifier`, `LiteralExpr`, `either_polymorphic`, and `either` [INFO] [stdout] --> src/grammar.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | any_of_monomorphic, either, either_polymorphic, end_with_semicolon, parse_binary_expression, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6 | triplet, zero_or_more, BoxedParser, Expr, FnDef, ForLoop, Identifier, IfBlock, LetBinding, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | LiteralExpr, ParseResult, Parser, Reassignment, WhileLoop, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/interpreter/declaration.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ensure_is_identifier` [INFO] [stdout] --> src/interpreter/declaration.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::parser::{ensure_is_identifier, Expr, LetBinding, LiteralExpr, Reassignment}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/interpreter/expr.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub` [INFO] [stdout] --> src/interpreter/expr.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::{Add, Deref, Div, Mul, Sub}; [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LetBinding` [INFO] [stdout] --> src/interpreter/expr.rs:15:84 [INFO] [stdout] | [INFO] [stdout] 15 | BinaryExpr, BinaryOperator, Expr, FnCall, FnDef, ForLoop, Identifier, IfBlock, LetBinding, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:332:10 [INFO] [stdout] | [INFO] [stdout] 332 | pub enum FL_T { [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FlT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Primitive` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:379:10 [INFO] [stdout] | [INFO] [stdout] 379 | pub enum FL_T_Primitive { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTPrimitive` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Callable` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub struct FL_T_Callable { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Callable_Body` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:405:10 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum FL_T_Callable_Body { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `FlTCallableBody` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FL_T` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | FL_T(Statement), // FL_T [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `FlT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Callable_Native` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:411:10 [INFO] [stdout] | [INFO] [stdout] 411 | pub enum Callable_Native { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallableNative` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `FL_T_Bool` should have an upper camel case name [INFO] [stdout] --> src/interpreter/expr.rs:449:10 [INFO] [stdout] | [INFO] [stdout] 449 | pub enum FL_T_Bool { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `FlTBool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/interpreter/expr.test.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterpreterResult` [INFO] [stdout] --> src/interpreter/expr.test.rs:7:52 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::interpreter::{Environment, Interpreter, InterpreterResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StringLiteral` [INFO] [stdout] --> src/interpreter/expr.test.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | Reassignment, StringLiteral, UnaryExpr, UnaryOperator, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/interpreter/main.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cell::{RefCell, Ref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Identifier` [INFO] [stdout] --> src/interpreter/main.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::parser::{Expr, Identifier}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Declaration` and `FL_T_Callable` [INFO] [stdout] --> src/interpreter/main.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | grammar::{Declaration, Program}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | interpreter::{FL_T_Callable, InterpreterResult, FL_T}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Callable_Native` and `FL_T_Callable_Body` [INFO] [stdout] --> src/interpreter/main.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | use super::{Callable_Native, FL_T_Callable_Body}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParseResult` [INFO] [stdout] --> src/parser/combinators.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::{map, BoxedParser, ParseResult, Parser}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/parser/combinators.rs:92:20 [INFO] [stdout] | [INFO] [stdout] 92 | if let (Ok(_)) = result { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 92 - if let (Ok(_)) = result { [INFO] [stdout] 92 + if let Ok(_) = result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `either`, `left`, `parse_identifier`, `parse_number`, `right`, and `sequence_of_monomorphic` [INFO] [stdout] --> src/parser/parser.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | any_of_monomorphic, either, left, one_or_more, optional, pair, parse_expr, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] 5 | parse_grouping_expr_2, parse_identifier, parse_literal, parse_number, parse_string_literal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 6 | right, sequence_of_monomorphic, triplet, zero_or_more, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Statement`, `StringLiteral`, `fold_infix_binary_to_single_expr`, `parse_expr`, `parse_function_call`, and `parse_let_binding` [INFO] [stdout] --> src/parser/parser.test.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | grammar::{decl_let_binding, Declaration, Statement}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 3 | parser::{ [INFO] [stdout] 4 | any_of_monomorphic, at_least_one_whitespace, fold_infix_binary_to_single_expr, map, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | parse_binary_expression, parse_expr, parse_expr_literal, parse_function_call, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | parse_let_binding, parse_literal, parse_number, parse_unary_expression, predicate, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | BinaryExpr, BinaryOperator, Expr, FnCall, Identifier, LetBinding, LiteralExpr, Number, [INFO] [stdout] 8 | Parser, StringLiteral, UnaryExpr, UnaryOperator, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wrapped_scope` [INFO] [stdout] --> src/parser/primitives.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | wrapped_scope, Declaration, Statement, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `and_then`, `either`, `optional_whitespace`, and `parse_function_call` [INFO] [stdout] --> src/parser/primitives.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | and_then, at_least_one_whitespace, either, optional_whitespace, parse_binary_expression, [INFO] [stdout] | ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | parse_expr_literal, parse_function_call, parse_unary_expression, sequence_of_monomorphic, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map` [INFO] [stdout] --> src/parser/primitives.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | any_of_monomorphic, map, optional, pair, parse_function_call_for_expr, triplet, ParseResult, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `INTERPRETER_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | pub enum INTERPRETER_ERROR { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpreterError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_COMPILE_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | INTERPRET_COMPILE_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretCompileError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `INTERPRET_RUNTIME_ERROR` should have an upper camel case name [INFO] [stdout] --> src/vm/common.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | INTERPRET_RUNTIME_ERROR, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InterpretRuntimeError` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LexerError` and `tokenize` [INFO] [stdout] --> src/vm/compiler.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vm::scanner::{tokenize, LexedToken, Lexer, LexerError, TokenKind}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OP_ADD`, `OP_DIVIDE`, `OP_NEGATE`, and `OP_SUBTRACT` [INFO] [stdout] --> src/vm/compiler.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | Chunk, OpCode, Value, OP_ADD, OP_CONSTANT, OP_DIVIDE, OP_NEGATE, OP_RETURN, OP_SUBTRACT, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LexerError` [INFO] [stdout] --> src/vm/scanner.test.rs:3:40 [INFO] [stdout] | [INFO] [stdout] 3 | tokenize_single_token, LexedToken, LexerError, TokenKind, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::grammar::parse_declaration` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::grammar::parse_declaration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BoxedParser` and `Expr` [INFO] [stdout] --> src/main.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::parser::{BoxedParser, Expr, Parser}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err1` [INFO] [stdout] --> src/parser/combinators.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | Err(err1) => match parser2.parse(input) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_err1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/parser/combinators.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut results = Vec::::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matched` [INFO] [stdout] --> src/parser/primitives.rs:363:20 [INFO] [stdout] | [INFO] [stdout] 363 | let (rest, matched) = p.parse(input)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matched` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rest` [INFO] [stdout] --> src/parser/combinators.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rest = input; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/combinators.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut results = Vec::::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/combinators.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut rest = input; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matched` [INFO] [stdout] --> src/parser/primitives.rs:363:20 [INFO] [stdout] | [INFO] [stdout] 363 | let (rest, matched) = p.parse(input)?; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matched` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/declaration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/expr.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reconstructed` [INFO] [stdout] --> src/interpreter/declaration.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/expr.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut local_env = Rc::new(RefCell::new(Environment::new(Some(env.clone())))); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/interpreter/expr.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let res = RefCell::borrow_mut(&env).put( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> src/interpreter/expr.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | if let Some(depth) = maybe_depth { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/declaration.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/expr.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/interpreter/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/interpreter/expr.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | env: Rc>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reconstructed` [INFO] [stdout] --> src/interpreter/declaration.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconstructed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/expr.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut local_env = Rc::new(RefCell::new(Environment::new(Some(env.clone())))); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/interpreter/expr.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | let res = RefCell::borrow_mut(&env).put( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> src/interpreter/expr.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | if let Some(depth) = maybe_depth { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/interpreter/expr.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | env: Rc>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry_pair` [INFO] [stdout] --> src/parser/primitives.rs:310:12 [INFO] [stdout] | [INFO] [stdout] 310 | |((entry_pair, decl, (mid_pair, last_pair)), body)| ForLoop { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry_pair` [INFO] [stdout] --> src/parser/primitives.rs:310:12 [INFO] [stdout] | [INFO] [stdout] 310 | |((entry_pair, decl, (mid_pair, last_pair)), body)| ForLoop { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/vm/common.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | let contents = fs::read_to_string(path).expect("Filepath has to be valid"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokenizer` [INFO] [stdout] --> src/vm/compiler.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokenizer` [INFO] [stdout] --> src/vm/compiler.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/vm/scanner.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let end = start + bytes_skipped; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snippet_err_offset` [INFO] [stdout] --> src/vm/scanner.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let snippet_err_offset = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snippet_err_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `contents` [INFO] [stdout] --> src/vm/common.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | let contents = fs::read_to_string(path).expect("Filepath has to be valid"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokenizer` [INFO] [stdout] --> src/vm/compiler.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokenizer` [INFO] [stdout] --> src/vm/compiler.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/vm/scanner.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/vm/scanner.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let end = start + bytes_skipped; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `snippet_err_offset` [INFO] [stdout] --> src/vm/scanner.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | let snippet_err_offset = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snippet_err_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> src/main.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let parser = grammar::parse_program(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut repl_env = Rc::new(RefCell::new(Environment::new(None))); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src` [INFO] [stdout] --> src/vm/scanner.rs:193:28 [INFO] [stdout] | [INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_src` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bool` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 379 | pub enum FL_T_Primitive { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 380 | Str(String), [INFO] [stdout] 381 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Primitive` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Native` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:406:5 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum FL_T_Callable_Body { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] 406 | Native(Callable_Native), // Rust [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Callable_Body` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Clock` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub enum Callable_Native { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] 412 | Clock, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Callable_Native` 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: variants `True` and `False` are never constructed [INFO] [stdout] --> src/interpreter/expr.rs:450:5 [INFO] [stdout] | [INFO] [stdout] 449 | pub enum FL_T_Bool { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 450 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 451 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Bool` 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: function `empty_env` is never used [INFO] [stdout] --> src/interpreter/expr.test.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn empty_env() -> Rc> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_at` is never used [INFO] [stdout] --> src/interpreter/main.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Environment { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_at( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `environment` is never read [INFO] [stdout] --> src/interpreter/main.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 120 | pub environment: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Interpreter` 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 `preload_with` and `inject_into_global_env` are never used [INFO] [stdout] --> src/interpreter/main.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Interpreter { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn preload_with(&mut self, m: HashMap>) -> InterpreterResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn inject_into_global_env( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `either` is never used [INFO] [stdout] --> src/parser/combinators.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn either<'a, P1, P2, A>(parser1: P1, parser2: P2) -> impl Parser<'a, A> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `either_polymorphic` is never used [INFO] [stdout] --> src/parser/combinators.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn either_polymorphic<'a, R1, R2>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `left` is never used [INFO] [stdout] --> src/parser/combinators.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1> [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `right` is never used [INFO] [stdout] --> src/parser/combinators.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2> [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `predicate` is never used [INFO] [stdout] --> src/parser/parser.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Parser<'a, Output> { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 26 | fn predicate(self, pred_fn: F) -> BoxedParser<'a, Output> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sequence_of` is never used [INFO] [stdout] --> src/parser/parser.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn sequence_of() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_identifier_as_identifier` is never used [INFO] [stdout] --> src/parser/primitives.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn parse_identifier_as_identifier<'a>() -> impl Parser<'a, Identifier> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_grouping_expr` is never used [INFO] [stdout] --> src/parser/primitives.rs:338:8 [INFO] [stdout] | [INFO] [stdout] 338 | pub fn parse_grouping_expr<'a>() -> impl Parser<'a, Expr> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OpCode` is never used [INFO] [stdout] --> src/vm/common.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type OpCode = u8; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_RETURN` is never used [INFO] [stdout] --> src/vm/common.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const OP_RETURN: OpCode = 0x0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_CONSTANT` is never used [INFO] [stdout] --> src/vm/common.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const OP_CONSTANT: OpCode = 0x1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_NEGATE` is never used [INFO] [stdout] --> src/vm/common.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const OP_NEGATE: OpCode = 0x2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> src/main.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let parser = grammar::parse_program(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_ADD` is never used [INFO] [stdout] --> src/vm/common.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const OP_ADD: OpCode = 0x3; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_SUBTRACT` is never used [INFO] [stdout] --> src/vm/common.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const OP_SUBTRACT: OpCode = 0x4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_MULTIPLY` is never used [INFO] [stdout] --> src/vm/common.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const OP_MULTIPLY: OpCode = 0x5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_DIVIDE` is never used [INFO] [stdout] --> src/vm/common.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const OP_DIVIDE: OpCode = 0x6; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `primitive_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn primitive_instruction(name: &str, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn constant_instruction(name: &str, chunk: &Chunk, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Value` is never used [INFO] [stdout] --> src/vm/common.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub type Value = f64; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_value` is never used [INFO] [stdout] --> src/vm/common.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn print_value(val: Value) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueArray` is never constructed [INFO] [stdout] --> src/vm/common.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ValueArray { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAPACITY_LOW_THRESHOLD` is never used [INFO] [stdout] --> src/vm/common.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const CAPACITY_LOW_THRESHOLD: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAPACITY_INCREMENT_MULTIPLIER` is never used [INFO] [stdout] --> src/vm/common.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const CAPACITY_INCREMENT_MULTIPLIER: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_CAPACITY` is never used [INFO] [stdout] --> src/vm/common.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const STACK_CAPACITY: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `INTERPRETER_ERROR` is never used [INFO] [stdout] --> src/vm/common.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | pub enum INTERPRETER_ERROR { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `INTERPRETER_ERROR` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VmResult` is never used [INFO] [stdout] --> src/vm/common.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | pub type VmResult = Result; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut repl_env = Rc::new(RefCell::new(Environment::new(None))); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_TRACE_EXECUTION` is never used [INFO] [stdout] --> src/vm/common.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | const DEBUG_TRACE_EXECUTION: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VM` is never constructed [INFO] [stdout] --> src/vm/common.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct VM { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `interpret`, `with_chunk`, `push`, `pop`, and `run` are never used [INFO] [stdout] --> src/vm/common.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl VM { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 70 | pub fn interpret(chunk: Chunk) -> VmResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn with_chunk(chunk: Chunk) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn push(&mut self, val: Value) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn run(&mut self) -> VmResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_byte` is never used [INFO] [stdout] --> src/vm/common.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn read_byte(vm: &mut VM) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_const` is never used [INFO] [stdout] --> src/vm/common.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn read_const(vm: &mut VM) -> Value { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `upgrade_capacity`, and `write` are never used [INFO] [stdout] --> src/vm/common.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 159 | impl ValueArray { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 160 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn upgrade_capacity(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn write(&mut self, val: Value) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Chunk` is never constructed [INFO] [stdout] --> src/vm/common.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct Chunk { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_constant`, `write`, `upgrade_capacity`, and `disassemble` are never used [INFO] [stdout] --> src/vm/common.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl Chunk { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 197 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn add_constant(&mut self, val: Value) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn write(&mut self, byte: OpCode, line: u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn upgrade_capacity(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn disassemble(&self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn disassemble_instruction(chunk: &Chunk, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpret` is never used [INFO] [stdout] --> src/vm/common.rs:282:4 [INFO] [stdout] | [INFO] [stdout] 282 | fn interpret(source: &str) -> VmResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CompilerResult` is never used [INFO] [stdout] --> src/vm/compiler.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type CompilerResult = Result; // Change Err type later [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> src/vm/compiler.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Compiler<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile` is never used [INFO] [stdout] --> src/vm/compiler.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn compile(source: &str) -> CompilerResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `make_error_at_lexeme` is never used [INFO] [stdout] --> src/vm/compiler.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'a> Compiler<'a> { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 39 | fn make_error_at_lexeme(&self, tok: LexedToken, msg: &str) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expression` is never used [INFO] [stdout] --> src/vm/compiler.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `number` is never used [INFO] [stdout] --> src/vm/compiler.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `emit_return` is never used [INFO] [stdout] --> src/vm/compiler.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn emit_return(chunk: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_chunk` is never used [INFO] [stdout] --> src/vm/compiler.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn write_chunk(chunk: &mut Chunk, byte: u8) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_constant` is never used [INFO] [stdout] --> src/vm/compiler.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn make_constant(chunk: &mut Chunk, val: Value) -> CompilerResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_constant` is never used [INFO] [stdout] --> src/vm/compiler.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn write_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_chunk_byte_tuple` is never used [INFO] [stdout] --> src/vm/compiler.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn write_chunk_byte_tuple(chunk: &mut Chunk, byte1: u8, byte2: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Bool` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 379 | pub enum FL_T_Primitive { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 380 | Str(String), [INFO] [stdout] 381 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Primitive` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Native` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:406:5 [INFO] [stdout] | [INFO] [stdout] 405 | pub enum FL_T_Callable_Body { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] 406 | Native(Callable_Native), // Rust [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Callable_Body` 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: function `consume` is never used [INFO] [stdout] --> src/vm/compiler.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn consume(tokenizer: &mut Lexer, kind: TokenKind) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Clock` is never constructed [INFO] [stdout] --> src/interpreter/expr.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub enum Callable_Native { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] 412 | Clock, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Callable_Native` 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: variants `True` and `False` are never constructed [INFO] [stdout] --> src/interpreter/expr.rs:450:5 [INFO] [stdout] | [INFO] [stdout] 449 | pub enum FL_T_Bool { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 450 | True, [INFO] [stdout] | ^^^^ [INFO] [stdout] 451 | False, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FL_T_Bool` 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: associated function `get_at` is never used [INFO] [stdout] --> src/interpreter/main.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Environment { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_at( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `environment` is never read [INFO] [stdout] --> src/interpreter/main.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Interpreter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 120 | pub environment: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Interpreter` 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: variants `Comma`, `Dot`, `AND`, `OR`, and `Root` are never constructed [INFO] [stdout] --> src/vm/scanner.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | AND, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | OR, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 57 | Root, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `preload_with` and `inject_into_global_env` are never used [INFO] [stdout] --> src/interpreter/main.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Interpreter { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn preload_with(&mut self, m: HashMap>) -> InterpreterResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn inject_into_global_env( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `either_polymorphic` is never used [INFO] [stdout] --> src/parser/combinators.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn either_polymorphic<'a, R1, R2>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `had_error` and `panic_mode` are never read [INFO] [stdout] --> src/vm/scanner.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 63 | pub had_error: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 64 | pub panic_mode: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `predicate` is never used [INFO] [stdout] --> src/parser/parser.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Parser<'a, Output> { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 26 | fn predicate(self, pred_fn: F) -> BoxedParser<'a, Output> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sequence_of` is never used [INFO] [stdout] --> src/parser/parser.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn sequence_of() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `consume` and `panic_mode_on` are never used [INFO] [stdout] --> src/vm/scanner.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl<'a> Lexer<'a> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn consume(&mut self, token_kind: TokenKind) -> LexerResult<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn panic_mode_on(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mock_number_literal_expr` is never used [INFO] [stdout] --> src/parser/parser.test.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn mock_number_literal_expr(num: i32) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_identifier_as_identifier` is never used [INFO] [stdout] --> src/parser/primitives.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn parse_identifier_as_identifier<'a>() -> impl Parser<'a, Identifier> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OpCode` is never used [INFO] [stdout] --> src/vm/common.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type OpCode = u8; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_RETURN` is never used [INFO] [stdout] --> src/vm/common.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const OP_RETURN: OpCode = 0x0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_CONSTANT` is never used [INFO] [stdout] --> src/vm/common.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const OP_CONSTANT: OpCode = 0x1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_NEGATE` is never used [INFO] [stdout] --> src/vm/common.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const OP_NEGATE: OpCode = 0x2; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_ADD` is never used [INFO] [stdout] --> src/vm/common.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const OP_ADD: OpCode = 0x3; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_SUBTRACT` is never used [INFO] [stdout] --> src/vm/common.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const OP_SUBTRACT: OpCode = 0x4; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/vm/scanner.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum LexerError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 145 | IdentStartsWithANumber, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 146 | UnexpectedEOF, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | NoCharMatch, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 148 | MultipleDotsInNumber, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 149 | UnsupportedChar(char), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | CouldNotTokenize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | CouldNotParseType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_MULTIPLY` is never used [INFO] [stdout] --> src/vm/common.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const OP_MULTIPLY: OpCode = 0x5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_DIVIDE` is never used [INFO] [stdout] --> src/vm/common.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const OP_DIVIDE: OpCode = 0x6; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize_string_literal` is never used [INFO] [stdout] --> src/vm/scanner.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `primitive_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn primitive_instruction(name: &str, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn constant_instruction(name: &str, chunk: &Chunk, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Value` is never used [INFO] [stdout] --> src/vm/common.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub type Value = f64; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_value` is never used [INFO] [stdout] --> src/vm/common.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn print_value(val: Value) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueArray` is never constructed [INFO] [stdout] --> src/vm/common.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ValueArray { [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/grammar.rs:44:44 [INFO] [stdout] | [INFO] [stdout] 44 | .map(|fn_def| Statement::FnDef(Box::new(fn_def))), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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] = 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/grammar.rs:50:52 [INFO] [stdout] | [INFO] [stdout] 50 | .map(|while_loop| Statement::WhileLoop(Box::new(while_loop))), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:51:76 [INFO] [stdout] | [INFO] [stdout] 51 | BoxedParser::new(parse_for_loop).map(|for_loop| Statement::ForLoop(Box::new(for_loop))), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:52:71 [INFO] [stdout] | [INFO] [stdout] 52 | BoxedParser::new(parse_if_block).map(|if_block| Statement::If(Box::new(if_block))), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn wrapped_scope<'a, P, R>(inside: P) -> impl Parser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 106 | triplet(parse_literal("{"), inside, parse_literal("}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAPACITY_LOW_THRESHOLD` is never used [INFO] [stdout] --> src/vm/common.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const CAPACITY_LOW_THRESHOLD: usize = 8; [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/interpreter/declaration.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 62 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | ) -> InterpreterResult> { [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | // let maybe_depth = self.locals.get(&reconstructed); [INFO] [stdout] 66 | let rhs_evaluated = self.evaluate_expr(&binding.rhs, env.clone())?; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | [INFO] [stdout] 68 | RefCell::borrow_mut(&env).put(binding.identifier.0.clone(), Rc::new(rhs_evaluated)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/declaration.rs:68:69 [INFO] [stdout] | [INFO] [stdout] 62 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | ) -> InterpreterResult> { [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | // let maybe_depth = self.locals.get(&reconstructed); [INFO] [stdout] 66 | let rhs_evaluated = self.evaluate_expr(&binding.rhs, env.clone())?; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | [INFO] [stdout] 68 | RefCell::borrow_mut(&env).put(binding.identifier.0.clone(), Rc::new(rhs_evaluated)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAPACITY_INCREMENT_MULTIPLIER` is never used [INFO] [stdout] --> src/vm/common.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const CAPACITY_INCREMENT_MULTIPLIER: usize = 2; [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/interpreter/expr.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 122 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 126 | let fl_t_callable = FL_T_Callable::from_fn_def(fn_def, Rc::downgrade(&env)); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 127 | [INFO] [stdout] 128 | let res = RefCell::borrow_mut(&env).put( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 133 | Ok(FL_T::Unit) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 313 | let mut decls = Vec::::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 314 | [INFO] [stdout] 315 | let while_loop_body = Statement::Block(vec![ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 320 | let inner_while = Statement::WhileLoop(Box::new(WhileLoop { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 328 | Ok(Statement::Block(decls)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_CAPACITY` is never used [INFO] [stdout] --> src/vm/common.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const STACK_CAPACITY: usize = 256; [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/interpreter/expr.rs:420:19 [INFO] [stdout] | [INFO] [stdout] 416 | fn from_fn_def(incoming: &FnDef, def_env: Weak>) -> Self { [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 420 | body: FL_T_Callable_Body::FL_T(incoming.body.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:469:11 [INFO] [stdout] | [INFO] [stdout] 465 | left: FL_T, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 466 | op: &BinaryOperator, [INFO] [stdout] 467 | right: FL_T, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | ) -> InterpreterResult { [INFO] [stdout] 469 | match (left, right) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(enclosing: Option>>) -> Self { [INFO] [stdout] | ------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 23 | Self { [INFO] [stdout] 24 | bindings: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:35:42 [INFO] [stdout] | [INFO] [stdout] 35 | .and_then(|enclosed_env| enclosed_env.borrow().get(key)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `INTERPRETER_ERROR` is never used [INFO] [stdout] --> src/vm/common.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | pub enum INTERPRETER_ERROR { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `INTERPRETER_ERROR` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 40 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 43 | let mut curr_env = env.clone(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | Ok(curr_env.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `VmResult` is never used [INFO] [stdout] --> src/vm/common.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | pub type VmResult = Result; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_TRACE_EXECUTION` is never used [INFO] [stdout] --> src/vm/common.rs:61:7 [INFO] [stdout] | [INFO] [stdout] 61 | const DEBUG_TRACE_EXECUTION: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VM` is never constructed [INFO] [stdout] --> src/vm/common.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct VM { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `interpret`, `with_chunk`, `push`, `pop`, and `run` are never used [INFO] [stdout] --> src/vm/common.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl VM { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 70 | pub fn interpret(chunk: Chunk) -> VmResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn with_chunk(chunk: Chunk) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn push(&mut self, val: Value) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn run(&mut self) -> VmResult<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_byte` is never used [INFO] [stdout] --> src/vm/common.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn read_byte(vm: &mut VM) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_const` is never used [INFO] [stdout] --> src/vm/common.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn read_const(vm: &mut VM) -> Value { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `upgrade_capacity`, and `write` are never used [INFO] [stdout] --> src/vm/common.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 159 | impl ValueArray { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 160 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn upgrade_capacity(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn write(&mut self, val: Value) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Chunk` is never constructed [INFO] [stdout] --> src/vm/common.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct Chunk { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_constant`, `write`, `upgrade_capacity`, and `disassemble` are never used [INFO] [stdout] --> src/vm/common.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl Chunk { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 197 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn add_constant(&mut self, val: Value) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn write(&mut self, byte: OpCode, line: u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn upgrade_capacity(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn disassemble(&self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_instruction` is never used [INFO] [stdout] --> src/vm/common.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn disassemble_instruction(chunk: &Chunk, offset: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpret` is never used [INFO] [stdout] --> src/vm/common.rs:282:4 [INFO] [stdout] | [INFO] [stdout] 282 | fn interpret(source: &str) -> VmResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CompilerResult` is never used [INFO] [stdout] --> src/vm/compiler.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type CompilerResult = Result; // Change Err type later [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Compiler` is never constructed [INFO] [stdout] --> src/vm/compiler.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Compiler<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile` is never used [INFO] [stdout] --> src/vm/compiler.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn compile(source: &str) -> CompilerResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `make_error_at_lexeme` is never used [INFO] [stdout] --> src/vm/compiler.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'a> Compiler<'a> { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 39 | fn make_error_at_lexeme(&self, tok: LexedToken, msg: &str) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expression` is never used [INFO] [stdout] --> src/vm/compiler.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn expression(tokenizer: &mut Lexer) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `number` is never used [INFO] [stdout] --> src/vm/compiler.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn number(tokenizer: &mut Lexer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `emit_return` is never used [INFO] [stdout] --> src/vm/compiler.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn emit_return(chunk: &mut Chunk) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_chunk` is never used [INFO] [stdout] --> src/vm/compiler.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn write_chunk(chunk: &mut Chunk, byte: u8) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_constant` is never used [INFO] [stdout] --> src/vm/compiler.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn make_constant(chunk: &mut Chunk, val: Value) -> CompilerResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_constant` is never used [INFO] [stdout] --> src/vm/compiler.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn write_constant(chunk: &mut Chunk, val: Value) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_chunk_byte_tuple` is never used [INFO] [stdout] --> src/vm/compiler.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn write_chunk_byte_tuple(chunk: &mut Chunk, byte1: u8, byte2: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `consume` is never used [INFO] [stdout] --> src/vm/compiler.rs:88:4 [INFO] [stdout] | [INFO] [stdout] 88 | fn consume(tokenizer: &mut Lexer, kind: TokenKind) -> CompilerResult<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Comma`, `Dot`, `AND`, `OR`, and `Root` are never constructed [INFO] [stdout] --> src/vm/scanner.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum TokenKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | Comma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | Dot, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | AND, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | OR, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 57 | Root, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `had_error` and `panic_mode` are never read [INFO] [stdout] --> src/vm/scanner.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct Lexer<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 63 | pub had_error: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 64 | pub panic_mode: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `consume` and `panic_mode_on` are never used [INFO] [stdout] --> src/vm/scanner.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl<'a> Lexer<'a> { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn consume(&mut self, token_kind: TokenKind) -> LexerResult<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn panic_mode_on(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/vm/scanner.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum LexerError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 145 | IdentStartsWithANumber, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 146 | UnexpectedEOF, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 147 | NoCharMatch, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 148 | MultipleDotsInNumber, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 149 | UnsupportedChar(char), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | CouldNotTokenize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | CouldNotParseType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tokenize_string_literal` is never used [INFO] [stdout] --> src/vm/scanner.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn tokenize_string_literal(src: &str) -> LexerResult<(TokenKind, usize)> { [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/grammar.rs:44:44 [INFO] [stdout] | [INFO] [stdout] 44 | .map(|fn_def| Statement::FnDef(Box::new(fn_def))), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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] = 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/grammar.rs:50:52 [INFO] [stdout] | [INFO] [stdout] 50 | .map(|while_loop| Statement::WhileLoop(Box::new(while_loop))), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:51:76 [INFO] [stdout] | [INFO] [stdout] 51 | BoxedParser::new(parse_for_loop).map(|for_loop| Statement::ForLoop(Box::new(for_loop))), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:52:71 [INFO] [stdout] | [INFO] [stdout] 52 | BoxedParser::new(parse_if_block).map(|if_block| Statement::If(Box::new(if_block))), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/grammar.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn wrapped_scope<'a, P, R>(inside: P) -> impl Parser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 106 | triplet(parse_literal("{"), inside, parse_literal("}")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter/main.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone()); [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/interpreter/declaration.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 62 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | ) -> InterpreterResult> { [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | // let maybe_depth = self.locals.get(&reconstructed); [INFO] [stdout] 66 | let rhs_evaluated = self.evaluate_expr(&binding.rhs, env.clone())?; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | [INFO] [stdout] 68 | RefCell::borrow_mut(&env).put(binding.identifier.0.clone(), Rc::new(rhs_evaluated)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | me.load_defaults(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = me.load_defaults(); [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/interpreter/main.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 179 | val: Rc, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 180 | ) -> InterpreterResult> { [INFO] [stdout] 181 | RefCell::borrow_mut(&self.global_env).put(key, val) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/resolver.rs:60:58 [INFO] [stdout] | [INFO] [stdout] 60 | .and_then(|_| self.resolve_statement(if_clause.truthy_statement.clone()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/interpreter/resolver.rs:191:15 [INFO] [stdout] | [INFO] [stdout] 191 | while i >= 0 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [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/parser/combinators.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn either<'a, P1, P2, A>(parser1: P1, parser2: P2) -> impl Parser<'a, 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] 10 | move |input| match parser1.parse(input) { [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/parser/combinators.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 17 | parser1: BoxedParser<'a, R1>, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | parser2: BoxedParser<'a, R2>, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 19 | ) -> impl Parser<'a, (Option, Option)> { [INFO] [stdout] 20 | move |input| match parser1.parse(input) { [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/parser/combinators.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn pair<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)> [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] 35 | parser1.parse(input).and_then(|(rest, result1)| { [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/parser/combinators.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | / parser2 [INFO] [stdout] 37 | | .parse(rest) [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/parser/combinators.rs:38:22 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 38 | .map(|(rest2, result2)| (rest2, (result1, result2))) [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/parser/combinators.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 38 | .map(|(rest2, result2)| (rest2, (result1, result2))) [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/combinators.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1> [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] 48 | map(pair(parser1, parser2), |(left_result, _)| left_result) [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/parser/combinators.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2> [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] 56 | map(pair(parser1, parser2), |(_, right_result)| right_result) [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/parser/combinators.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn one_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 64 | let mut result = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 78 | Ok((input, result)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/declaration.rs:68:69 [INFO] [stdout] | [INFO] [stdout] 62 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 63 | ) -> InterpreterResult> { [INFO] [stdout] 64 | let reconstructed = Expr::Literal(LiteralExpr::Identifier(binding.identifier.clone())); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | // let maybe_depth = self.locals.get(&reconstructed); [INFO] [stdout] 66 | let rhs_evaluated = self.evaluate_expr(&binding.rhs, env.clone())?; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 67 | [INFO] [stdout] 68 | RefCell::borrow_mut(&env).put(binding.identifier.0.clone(), Rc::new(rhs_evaluated)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 122 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 126 | let fl_t_callable = FL_T_Callable::from_fn_def(fn_def, Rc::downgrade(&env)); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 127 | [INFO] [stdout] 128 | let res = RefCell::borrow_mut(&env).put( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 133 | Ok(FL_T::Unit) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:328:8 [INFO] [stdout] | [INFO] [stdout] 313 | let mut decls = Vec::::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 314 | [INFO] [stdout] 315 | let while_loop_body = Statement::Block(vec![ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 320 | let inner_while = Statement::WhileLoop(Box::new(WhileLoop { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 328 | Ok(Statement::Block(decls)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:420:19 [INFO] [stdout] | [INFO] [stdout] 416 | fn from_fn_def(incoming: &FnDef, def_env: Weak>) -> Self { [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 420 | body: FL_T_Callable_Body::FL_T(incoming.body.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/expr.rs:469:11 [INFO] [stdout] | [INFO] [stdout] 465 | left: FL_T, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 466 | op: &BinaryOperator, [INFO] [stdout] 467 | right: FL_T, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | ) -> InterpreterResult { [INFO] [stdout] 469 | match (left, right) { [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/parser/combinators.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn sequence_of_monomorphic<'a, R>(parsers: Vec>) -> impl Parser<'a, Vec> [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 108 | let mut results = Vec::::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | Ok((rest, results)) [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/parser/combinators.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 130 | parser1: P1, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | parser2: P2, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | parser3: P3, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(enclosing: Option>>) -> Self { [INFO] [stdout] | ------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 23 | Self { [INFO] [stdout] 24 | bindings: HashMap::new(), [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/parser/combinators.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [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/parser/combinators.rs:141:43 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 142 | | parser3 [INFO] [stdout] 143 | | .parse(rest2) [INFO] [stdout] 144 | | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [INFO] [stdout] 145 | | }) [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/parser/combinators.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 142 | / parser3 [INFO] [stdout] 143 | | .parse(rest2) [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/parser/combinators.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [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/parser/combinators.rs:144:53 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:35:42 [INFO] [stdout] | [INFO] [stdout] 35 | .and_then(|enclosed_env| enclosed_env.borrow().get(key)), [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/parser/combinators.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 155 | let mut result = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 162 | Ok((input, result)) [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/parser/combinators.rs:170:24 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn optional<'a, P, R>(parser: P) -> impl Parser<'a, Option> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 170 | move |input| match parser.parse(input) { [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/parser/parser.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 16 | fn map(self, map_fn: F) -> BoxedParser<'a, MOut> [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] 23 | BoxedParser::new(map(self, map_fn)) [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/parser/parser.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 26 | fn predicate(self, pred_fn: F) -> BoxedParser<'a, Output> [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] 32 | BoxedParser::new(predicate(self, pred_fn)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 40 | env: Rc>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 43 | let mut curr_env = env.clone(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | Ok(curr_env.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/parser.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 35 | fn and_then(self, f: F) -> BoxedParser<'a, NewOutput> [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] 43 | BoxedParser::new(and_then(self, f)) [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/parser/parser.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn and_then<'a, P, F, A, B, NextP>(parser: P, f: F) -> impl Parser<'a, B> [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 | move |input| match parser.parse(input) { [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/parser/parser.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new

(parser: P) -> Self [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 218 | parser: Box::new(parser), [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/parser/parser.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn map<'a, P, F, A, B>(parser: P, map_fn: F) -> impl Parser<'a, B> [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] 244 | / parser [INFO] [stdout] 245 | | .parse(input) [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/parser/parser.rs:246:54 [INFO] [stdout] | [INFO] [stdout] 246 | .map(|(next_input, result)| (next_input, map_fn(result))) [INFO] [stdout] | -------------------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter/main.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 95 | let _ = RefCell::borrow_mut(&relevant_ancestor).put(key, val.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/parser/parser.rs:259:47 [INFO] [stdout] | [INFO] [stdout] 259 | .map(|op_str| parse_literal(op_str.clone())) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/parser/parser.rs:269:47 [INFO] [stdout] | [INFO] [stdout] 269 | .map(|op_str| parse_literal(op_str.clone())) [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/parser/parser.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn predicate<'a, P, F, A>(parser: P, pred_fn: F) -> impl Parser<'a, 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] 289 | parser.parse(input).and_then(|(input_rest, matched)| { [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/parser/parser.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 314 | pub fn trim_whitespace_around<'a, P, R>(parser: P) -> BoxedParser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 320 | / triplet(optional_whitespace(), parser, optional_whitespace()) [INFO] [stdout] 321 | | .map(|(_, inside_result, _)| inside_result), [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/parser/parser.rs:341:23 [INFO] [stdout] | [INFO] [stdout] 341 | .and_then(|_| unary_operand().map(|op_char| UnaryOperator::from(op_char))); [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/parser/parser.rs:349:25 [INFO] [stdout] | [INFO] [stdout] 348 | .map(|(unary_op, expr)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 349 | Expr::Unary(UnaryExpr { [INFO] [stdout] | _________________________^ [INFO] [stdout] 350 | | op: unary_op, [INFO] [stdout] 351 | | expr: Box::new(expr), [INFO] [stdout] 352 | | }) [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/parser/parser.rs:366:5 [INFO] [stdout] | [INFO] [stdout] 364 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 365 | [INFO] [stdout] 366 | / triplet( [INFO] [stdout] 367 | | pair( [INFO] [stdout] 368 | | BoxedParser::new(parse_expr), [INFO] [stdout] 369 | | BoxedParser::new(parse_literal("(")).map(|_| Expr::Literal(LiteralExpr::Empty)), [INFO] [stdout] ... | [INFO] [stdout] 373 | | ) [INFO] [stdout] 374 | | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [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/parser/parser.rs:374:53 [INFO] [stdout] | [INFO] [stdout] 374 | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | me.load_defaults(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = me.load_defaults(); [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/parser/parser.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 379 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 380 | [INFO] [stdout] 381 | / triplet( [INFO] [stdout] 382 | | pair( [INFO] [stdout] 383 | | BoxedParser::new(parse_expr_literal), // TODO: This should be changed to parse_statement to achieve full flexibility wrt to f... [INFO] [stdout] 384 | | BoxedParser::new(parse_literal("(")).map(|_| Expr::Literal(LiteralExpr::Empty)), [INFO] [stdout] ... | [INFO] [stdout] 388 | | ) [INFO] [stdout] 389 | | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [INFO] [stdout] | |____________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/main.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 179 | val: Rc, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 180 | ) -> InterpreterResult> { [INFO] [stdout] 181 | RefCell::borrow_mut(&self.global_env).put(key, val) [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/parser/parser.rs:389:53 [INFO] [stdout] | [INFO] [stdout] 389 | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/interpreter/resolver.rs:60:58 [INFO] [stdout] | [INFO] [stdout] 60 | .and_then(|_| self.resolve_statement(if_clause.truthy_statement.clone()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/parser.rs:470:5 [INFO] [stdout] | [INFO] [stdout] 441 | pub fn fold_infix_binary_to_single_expr(infix: Vec) -> Expr { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 442 | let mut operator_stack = vec![]; [INFO] [stdout] 443 | let mut operand_stack: Vec = vec![]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 470 | operand_stack.pop().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/interpreter/resolver.rs:191:15 [INFO] [stdout] | [INFO] [stdout] 191 | while i >= 0 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [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/parser/combinators.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn either<'a, P1, P2, A>(parser1: P1, parser2: P2) -> impl Parser<'a, 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] 10 | move |input| match parser1.parse(input) { [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/parser/primitives.rs:191:42 [INFO] [stdout] | [INFO] [stdout] 190 | .map(|results| LetBinding { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 191 | identifier: ensure_is_identifier(results.get(2).unwrap().clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 17 | parser1: BoxedParser<'a, R1>, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | parser2: BoxedParser<'a, R2>, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 19 | ) -> impl Parser<'a, (Option, Option)> { [INFO] [stdout] 20 | move |input| match parser1.parse(input) { [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/parser/primitives.rs:192:14 [INFO] [stdout] | [INFO] [stdout] 190 | .map(|results| LetBinding { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 191 | identifier: ensure_is_identifier(results.get(2).unwrap().clone()), [INFO] [stdout] 192 | rhs: results.get(4).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn pair<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, (R1, R2)> [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] 35 | parser1.parse(input).and_then(|(rest, result1)| { [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/parser/primitives.rs:205:42 [INFO] [stdout] | [INFO] [stdout] 204 | .map(|results| Reassignment { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | identifier: ensure_is_identifier(results.get(0).unwrap().clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | / parser2 [INFO] [stdout] 37 | | .parse(rest) [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/parser/combinators.rs:38:22 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 38 | .map(|(rest2, result2)| (rest2, (result1, result2))) [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/parser/primitives.rs:206:14 [INFO] [stdout] | [INFO] [stdout] 204 | .map(|results| Reassignment { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | identifier: ensure_is_identifier(results.get(0).unwrap().clone()), [INFO] [stdout] 206 | rhs: results.get(2).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:38:49 [INFO] [stdout] | [INFO] [stdout] 35 | parser1.parse(input).and_then(|(rest, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 38 | .map(|(rest2, result2)| (rest2, (result1, result2))) [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/primitives.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn end_with_semicolon<'a, P, R>(parser: P) -> impl Parser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | pair(parser, trim_whitespace_around(parse_literal(";"))).map(|(r1, _)| r1) [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/parser/combinators.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn left<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R1> [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] 48 | map(pair(parser1, parser2), |(left_result, _)| left_result) [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/parser/primitives.rs:268:20 [INFO] [stdout] | [INFO] [stdout] 267 | .map(|(conditional_expr, body)| WhileLoop { [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 268 | condition: conditional_expr.get(2).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn right<'a, P1, P2, R1, R2>(parser1: P1, parser2: P2) -> impl Parser<'a, R2> [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] 56 | map(pair(parser1, parser2), |(_, right_result)| right_result) [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/parser/combinators.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn one_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 64 | let mut result = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 78 | Ok((input, result)) [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/parser/primitives.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 278 | let entry = pair( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 286 | let mid = pair( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 292 | let last = pair( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | let for_loop_definition_body = triplet( [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 305 | / pair( [INFO] [stdout] 306 | | for_loop_definition_body, [INFO] [stdout] 307 | | trim_whitespace_around(parse_statement), [INFO] [stdout] 308 | | ) [INFO] [stdout] ... | [INFO] [stdout] 315 | | }, [INFO] [stdout] 316 | | ) [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/parser/primitives.rs:344:40 [INFO] [stdout] | [INFO] [stdout] 344 | .map(|(_, expr, _)| Expr::Grouping(Box::new(expr))) [INFO] [stdout] | ------------ ^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/combinators.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn sequence_of_monomorphic<'a, R>(parsers: Vec>) -> impl Parser<'a, Vec> [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 108 | let mut results = Vec::::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 125 | Ok((rest, results)) [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/parser/primitives.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 350 | let (rest, res) = triplet( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 357 | Ok((rest, Expr::Grouping(Box::new(res.1)))) [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/parser/combinators.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 130 | parser1: P1, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | parser2: P2, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | parser3: P3, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [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/parser/primitives.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 362 | let p = trim_whitespace_around(parse_literal("\"")); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 383 | Ok(( [INFO] [stdout] | ____________^ [INFO] [stdout] 384 | | rest, [INFO] [stdout] 385 | | Expr::Literal(LiteralExpr::StringLiteral(StringLiteral( [INFO] [stdout] 386 | | string.to_string(), [INFO] [stdout] 387 | | ))), [INFO] [stdout] 388 | | )) [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/parser/combinators.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [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/parser/primitives.rs:418:5 [INFO] [stdout] | [INFO] [stdout] 416 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 417 | [INFO] [stdout] 418 | / triplet( [INFO] [stdout] 419 | | sequence_of_monomorphic(vec![ [INFO] [stdout] 420 | | BoxedParser::new(trim_whitespace_around(parse_literal("fun"))), [INFO] [stdout] 421 | | BoxedParser::new(trim_whitespace_around(parse_identifier())), [INFO] [stdout] ... | [INFO] [stdout] 439 | | body, [INFO] [stdout] 440 | | }) [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/parser/combinators.rs:141:43 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 142 | | parser3 [INFO] [stdout] 143 | | .parse(rest2) [INFO] [stdout] 144 | | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [INFO] [stdout] 145 | | }) [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/parser/combinators.rs:142:17 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 142 | / parser3 [INFO] [stdout] 143 | | .parse(rest2) [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/parser/primitives.rs:436:50 [INFO] [stdout] | [INFO] [stdout] 436 | .map(|expr| ensure_is_identifier(expr.clone())) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/combinators.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [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/parser/combinators.rs:144:53 [INFO] [stdout] | [INFO] [stdout] 140 | parser1.parse(input).and_then(|(rest1, result1)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | parser2.parse(rest1).and_then(|(rest2, result2)| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 144 | .map(|(rest3, result3)| (rest3, (result1, result2, result3))) [INFO] [stdout] | ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/combinators.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 155 | let mut result = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 162 | Ok((input, result)) [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/parser/combinators.rs:170:24 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn optional<'a, P, R>(parser: P) -> impl Parser<'a, Option> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 170 | move |input| match parser.parse(input) { [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/parser/parser.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 16 | fn map(self, map_fn: F) -> BoxedParser<'a, MOut> [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] 23 | BoxedParser::new(map(self, map_fn)) [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/parser/parser.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 26 | fn predicate(self, pred_fn: F) -> BoxedParser<'a, Output> [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] 32 | BoxedParser::new(predicate(self, pred_fn)) [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/parser/parser.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 35 | fn and_then(self, f: F) -> BoxedParser<'a, NewOutput> [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] 43 | BoxedParser::new(and_then(self, f)) [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/parser/parser.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn and_then<'a, P, F, A, B, NextP>(parser: P, f: F) -> impl Parser<'a, B> [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 | move |input| match parser.parse(input) { [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/parser/parser.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new

(parser: P) -> Self [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 218 | parser: Box::new(parser), [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/parser/parser.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn map<'a, P, F, A, B>(parser: P, map_fn: F) -> impl Parser<'a, B> [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] 244 | / parser [INFO] [stdout] 245 | | .parse(input) [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/parser/parser.rs:246:54 [INFO] [stdout] | [INFO] [stdout] 246 | .map(|(next_input, result)| (next_input, map_fn(result))) [INFO] [stdout] | -------------------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/parser/parser.rs:259:47 [INFO] [stdout] | [INFO] [stdout] 259 | .map(|op_str| parse_literal(op_str.clone())) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/parser/parser.rs:269:47 [INFO] [stdout] | [INFO] [stdout] 269 | .map(|op_str| parse_literal(op_str.clone())) [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/parser/parser.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn predicate<'a, P, F, A>(parser: P, pred_fn: F) -> impl Parser<'a, 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] 289 | parser.parse(input).and_then(|(input_rest, matched)| { [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/parser/parser.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 314 | pub fn trim_whitespace_around<'a, P, R>(parser: P) -> BoxedParser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 320 | / triplet(optional_whitespace(), parser, optional_whitespace()) [INFO] [stdout] 321 | | .map(|(_, inside_result, _)| inside_result), [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/parser/parser.rs:341:23 [INFO] [stdout] | [INFO] [stdout] 341 | .and_then(|_| unary_operand().map(|op_char| UnaryOperator::from(op_char))); [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/parser/parser.rs:349:25 [INFO] [stdout] | [INFO] [stdout] 348 | .map(|(unary_op, expr)| { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 349 | Expr::Unary(UnaryExpr { [INFO] [stdout] | _________________________^ [INFO] [stdout] 350 | | op: unary_op, [INFO] [stdout] 351 | | expr: Box::new(expr), [INFO] [stdout] 352 | | }) [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/parser/parser.rs:366:5 [INFO] [stdout] | [INFO] [stdout] 364 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 365 | [INFO] [stdout] 366 | / triplet( [INFO] [stdout] 367 | | pair( [INFO] [stdout] 368 | | BoxedParser::new(parse_expr), [INFO] [stdout] 369 | | BoxedParser::new(parse_literal("(")).map(|_| Expr::Literal(LiteralExpr::Empty)), [INFO] [stdout] ... | [INFO] [stdout] 373 | | ) [INFO] [stdout] 374 | | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [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/parser/parser.rs:374:53 [INFO] [stdout] | [INFO] [stdout] 374 | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/parser.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 379 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 380 | [INFO] [stdout] 381 | / triplet( [INFO] [stdout] 382 | | pair( [INFO] [stdout] 383 | | BoxedParser::new(parse_expr_literal), // TODO: This should be changed to parse_statement to achieve full flexibility wrt to f... [INFO] [stdout] 384 | | BoxedParser::new(parse_literal("(")).map(|_| Expr::Literal(LiteralExpr::Empty)), [INFO] [stdout] ... | [INFO] [stdout] 388 | | ) [INFO] [stdout] 389 | | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [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/parser/parser.rs:389:53 [INFO] [stdout] | [INFO] [stdout] 389 | .map(|((callee, _), arguments, _)| Expr::FnCall(Box::new(FnCall { callee, arguments }))) [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/parser.rs:470:5 [INFO] [stdout] | [INFO] [stdout] 441 | pub fn fold_infix_binary_to_single_expr(infix: Vec) -> Expr { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 442 | let mut operator_stack = vec![]; [INFO] [stdout] 443 | let mut operand_stack: Vec = vec![]; [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 470 | operand_stack.pop().unwrap() [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/parser/primitives.rs:191:42 [INFO] [stdout] | [INFO] [stdout] 190 | .map(|results| LetBinding { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 191 | identifier: ensure_is_identifier(results.get(2).unwrap().clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/primitives.rs:192:14 [INFO] [stdout] | [INFO] [stdout] 190 | .map(|results| LetBinding { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 191 | identifier: ensure_is_identifier(results.get(2).unwrap().clone()), [INFO] [stdout] 192 | rhs: results.get(4).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/primitives.rs:205:42 [INFO] [stdout] | [INFO] [stdout] 204 | .map(|results| Reassignment { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | identifier: ensure_is_identifier(results.get(0).unwrap().clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/primitives.rs:206:14 [INFO] [stdout] | [INFO] [stdout] 204 | .map(|results| Reassignment { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 205 | identifier: ensure_is_identifier(results.get(0).unwrap().clone()), [INFO] [stdout] 206 | rhs: results.get(2).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/primitives.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn end_with_semicolon<'a, P, R>(parser: P) -> impl Parser<'a, R> [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | pair(parser, trim_whitespace_around(parse_literal(";"))).map(|(r1, _)| r1) [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/parser/primitives.rs:268:20 [INFO] [stdout] | [INFO] [stdout] 267 | .map(|(conditional_expr, body)| WhileLoop { [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 268 | condition: conditional_expr.get(2).unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser/primitives.rs:305:5 [INFO] [stdout] | [INFO] [stdout] 278 | let entry = pair( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 286 | let mid = pair( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 292 | let last = pair( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | let for_loop_definition_body = triplet( [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 305 | / pair( [INFO] [stdout] 306 | | for_loop_definition_body, [INFO] [stdout] 307 | | trim_whitespace_around(parse_statement), [INFO] [stdout] 308 | | ) [INFO] [stdout] ... | [INFO] [stdout] 315 | | }, [INFO] [stdout] 316 | | ) [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/parser/primitives.rs:344:40 [INFO] [stdout] | [INFO] [stdout] 344 | .map(|(_, expr, _)| Expr::Grouping(Box::new(expr))) [INFO] [stdout] | ------------ ^^^^^^^^^^^^^^ [INFO] [stdout] | | [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/parser/primitives.rs:357:8 [INFO] [stdout] | [INFO] [stdout] 350 | let (rest, res) = triplet( [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 357 | Ok((rest, Expr::Grouping(Box::new(res.1)))) [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/parser/primitives.rs:383:12 [INFO] [stdout] | [INFO] [stdout] 362 | let p = trim_whitespace_around(parse_literal("\"")); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 383 | Ok(( [INFO] [stdout] | ____________^ [INFO] [stdout] 384 | | rest, [INFO] [stdout] 385 | | Expr::Literal(LiteralExpr::StringLiteral(StringLiteral( [INFO] [stdout] 386 | | string.to_string(), [INFO] [stdout] 387 | | ))), [INFO] [stdout] 388 | | )) [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/parser/primitives.rs:418:5 [INFO] [stdout] | [INFO] [stdout] 416 | let arguments_parser = optional(parse_arguments); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 417 | [INFO] [stdout] 418 | / triplet( [INFO] [stdout] 419 | | sequence_of_monomorphic(vec![ [INFO] [stdout] 420 | | BoxedParser::new(trim_whitespace_around(parse_literal("fun"))), [INFO] [stdout] 421 | | BoxedParser::new(trim_whitespace_around(parse_identifier())), [INFO] [stdout] ... | [INFO] [stdout] 439 | | body, [INFO] [stdout] 440 | | }) [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/parser/primitives.rs:436:50 [INFO] [stdout] | [INFO] [stdout] 436 | .map(|expr| ensure_is_identifier(expr.clone())) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 62 previous errors; 129 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `forklift` (bin "forklift") due to 63 previous errors; 129 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 62 previous errors; 124 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `forklift` (bin "forklift" test) due to 63 previous errors; 124 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a5d899ad4644f28e243fc3b2b8f558d2fd57717635a5b71ba1b59448c59db407", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a5d899ad4644f28e243fc3b2b8f558d2fd57717635a5b71ba1b59448c59db407", kill_on_drop: false }` [INFO] [stdout] a5d899ad4644f28e243fc3b2b8f558d2fd57717635a5b71ba1b59448c59db407