[INFO] cloning repository https://github.com/ShlomoAlon/Parser [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ShlomoAlon/Parser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShlomoAlon%2FParser", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShlomoAlon%2FParser'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d3759fbbba9cbd278bb27839582004e23bb0cfd1 [INFO] checking ShlomoAlon/Parser/d3759fbbba9cbd278bb27839582004e23bb0cfd1 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%2FShlomoAlon%2FParser" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ShlomoAlon/Parser 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/ShlomoAlon/Parser [INFO] finished tweaking git repo https://github.com/ShlomoAlon/Parser [INFO] tweaked toml for git repo https://github.com/ShlomoAlon/Parser written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ShlomoAlon/Parser already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] b42116176f12576a2b195b67c097a1b49a8d51ffe01f1aaa3e45c6794d550450 [INFO] running `Command { std: "docker" "start" "-a" "b42116176f12576a2b195b67c097a1b49a8d51ffe01f1aaa3e45c6794d550450", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b42116176f12576a2b195b67c097a1b49a8d51ffe01f1aaa3e45c6794d550450", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b42116176f12576a2b195b67c097a1b49a8d51ffe01f1aaa3e45c6794d550450", kill_on_drop: false }` [INFO] [stdout] b42116176f12576a2b195b67c097a1b49a8d51ffe01f1aaa3e45c6794d550450 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] d4cf1db6f42b80b28b412b463cc2313b420566af9b52f6bd37f457a6b13ffae4 [INFO] running `Command { std: "docker" "start" "-a" "d4cf1db6f42b80b28b412b463cc2313b420566af9b52f6bd37f457a6b13ffae4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.39 [INFO] [stderr] Compiling unicode-ident v1.0.0 [INFO] [stderr] Compiling syn v1.0.96 [INFO] [stderr] Compiling anyhow v1.0.57 [INFO] [stderr] Checking dyn-clone v1.0.5 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Compiling trait-set v0.3.0 [INFO] [stderr] Checking untitled v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/parsemal.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::lazy_static` [INFO] [stdout] --> src/parsemal.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/parsemal.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::lazy_static` [INFO] [stdout] --> src/parsemal.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/Parsers.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn fail(err: String) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/Parsers.rs:133:25 [INFO] [stdout] | [INFO] [stdout] 133 | self.lift2(p2, |x, y| y) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/Parsers.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | self.lift2(p2, |x, y| x) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `map`, `sequence`, and `option` are never used [INFO] [stdout] --> src/Parsers.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Parser { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn sequence(v: Vec) -> Parser> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `not` is never used [INFO] [stdout] --> src/Parsers.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 141 | impl Parser { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `join` is never used [INFO] [stdout] --> src/Parsers.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl Parser> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 207 | pub fn join(self, parser2: Self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `integer` is never used [INFO] [stdout] --> src/parsefloat.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Parser { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 41 | pub fn integer() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | Str(String), [INFO] [stdout] | --- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | Str(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | Symbol(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | Symbol(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Num(f64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | List(Rc>), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | List(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Parsers` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod Parsers; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `parsers` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` 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/Parsers.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(p: impl for<'a> Fn(&'a str) -> ParseResult<'a, A> + 'static) -> Self { [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | Parser:: { 0: Rc::new(p) } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/Parsers.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn map_ast(self, f: impl Fn(A) -> B + 'static) -> Parser { [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] 45 | Parser::new(move |t: &str| match self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 46 | | Ok(s) => ok_parse(s.remaining_str, f(s.ast)), [INFO] [stdout] 47 | | Err(_) => Err(anyhow!("didnt work")), [INFO] [stdout] 48 | | }) [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/Parsers.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn map_ast(self, f: impl Fn(A) -> B + 'static) -> Parser { [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] 45 | Parser::new(move |t: &str| match self(t) { [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/Parsers.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn lift2(self, p2: Parser, f: impl Fn(A, B) -> C + 'static) -> Parser { [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] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 52 | | let res1 = self(t)?; [INFO] [stdout] 53 | | let res2 = p2(res1.remaining_str)?; [INFO] [stdout] 54 | | ok_parse(res2.remaining_str, f(res1.ast, res2.ast)) [INFO] [stdout] 55 | | }) [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/Parsers.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn lift2(self, p2: Parser, f: impl Fn(A, B) -> C + 'static) -> Parser { [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] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | Parser::new(move |t: &str| { [INFO] [stdout] 52 | let res1 = self(t)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 53 | let res2 = p2(res1.remaining_str)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | ok_parse(res2.remaining_str, f(res1.ast, res2.ast)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [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/Parsers.rs:58:21 [INFO] [stdout] | [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [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] 58 | Parser::new(move |t| f(self(t))) [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/Parsers.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [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] 58 | Parser::new(move |t| f(self(t))) [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/Parsers.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn many(self, min: usize, max: usize) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 62 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 63 | | let mut result = vec![]; [INFO] [stdout] 64 | | let mut text = t; [INFO] [stdout] 65 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] 82 | | }) [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/Parsers.rs:91:21 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn sequence(v: Vec) -> Parser> { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 92 | | let mut text = t; [INFO] [stdout] 93 | | let mut result = vec![]; [INFO] [stdout] 94 | | for i in &v { [INFO] [stdout] ... | [INFO] [stdout] 99 | | ok_parse(text, result) [INFO] [stdout] 100 | | }) [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/Parsers.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn choice(s: Vec) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 104 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 105 | | let text = t; [INFO] [stdout] 106 | | let mut s = s.iter(); [INFO] [stdout] 107 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 111 | | } [INFO] [stdout] 112 | | }) [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/Parsers.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 116 | Parser::new(move |t: &str| match self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 117 | | Ok(i) => ok_parse(i.remaining_str, Some(i.ast)), [INFO] [stdout] 118 | | Err(_) => ok_parse(t, None), [INFO] [stdout] 119 | | }) [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/Parsers.rs:116:42 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 116 | Parser::new(move |t: &str| match self(t) { [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/Parsers.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn bind(self, f: impl Fn(A) -> Parser + 'static) -> Parser { [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] 123 | Parser::new(move |t| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 124 | | let x = self(t)?; [INFO] [stdout] 125 | | let p2 = f(x.ast); [INFO] [stdout] 126 | | p2(x.remaining_str) [INFO] [stdout] 127 | | }) [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/Parsers.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | Parser::new(move |t: &str| match &self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 144 | | Ok(_) => Err(anyhow!("it succeeded when we wanted failure")), [INFO] [stdout] 145 | | Err(_) => ok_parse(t, A::default()), [INFO] [stdout] 146 | | }) [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/Parsers.rs:143:43 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | Parser::new(move |t: &str| match &self(t) { [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/Parsers.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn or_default(self, default: A) -> Self { [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] 152 | Parser::new(move |t| Ok(self(t).unwrap_or(OkP::new(t, default.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: unused variable: `err` [INFO] [stdout] --> src/Parsers.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn fail(err: String) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` 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/Parsers.rs:152:33 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn or_default(self, default: A) -> Self { [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] 152 | Parser::new(move |t| Ok(self(t).unwrap_or(OkP::new(t, default.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/Parsers.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn default(x: A) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | Parser::new(move |t| ok_parse(t, x.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/Parsers.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn default(x: A) -> Parser { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | Parser::new(move |t| ok_parse(t, x.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/Parsers.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn sep_by(self, sep: Parser) -> Parser> { [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] 158 | let s = sep.discard_then_parse(self.clone()).many_min(0); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Parser::new(move |text| match self(text) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 160 | | Ok(t) =>{ [INFO] [stdout] 161 | | let (remaining, ast) = (t.remaining_str, t.ast) ; [INFO] [stdout] 162 | | s.clone().map_ast(move |x| { [INFO] [stdout] ... | [INFO] [stdout] 167 | | Err(_) => Ok(OkP::new(text, vec![])), [INFO] [stdout] 168 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/Parsers.rs:159:39 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn sep_by(self, sep: Parser) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | let s = sep.discard_then_parse(self.clone()).many_min(0); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Parser::new(move |text| match self(text) { [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/Parsers.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn char_predicate(f: impl Fn(char) -> bool + 'static) -> Self { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | Parser::any().bind(move |t| { [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/Parsers.rs:196:28 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn char_predicate(f: impl Fn(char) -> bool + 'static) -> Self { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | Parser::any().bind(move |t| { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 197 | | if f(t) { [INFO] [stdout] 198 | | Parser::default(t) [INFO] [stdout] 199 | | } else { [INFO] [stdout] 200 | | Parser::fail("didnt work".to_string()) [INFO] [stdout] 201 | | } [INFO] [stdout] 202 | | }) [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/Parsers.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn ok_parse(remaining_str: &str, ast: A) -> ParseResult { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 215 | Ok(OkP::new(remaining_str, ast)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isAlphaNumeric` should have a snake case name [INFO] [stdout] --> src/parsefloat.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn isAlphaNumeric() -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_alpha_numeric` [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/parsemal.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 45 | let double_quote = Parser::literal("\""); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | let escape_char = Parser::literal("\\") [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 54 | let non_escape_char = Parser::char_predicate(|x| x != '"'); [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | let str_char = vec![escape_char, non_escape_char].choice(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 56 | / double_quote [INFO] [stdout] 57 | | .clone() [INFO] [stdout] 58 | | .discard_then_parse(str_char.map_ast(|x| x.to_string()).many_min(0)) [INFO] [stdout] 59 | | .map_ast(|x| Str(x.join(""))) [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 variable: `x` [INFO] [stdout] --> src/Parsers.rs:133:25 [INFO] [stdout] | [INFO] [stdout] 133 | self.lift2(p2, |x, y| y) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [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/parsemal.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 63 | let rob_pike = parse_expr().sep_by(white_space().many_min(1)).map_ast(|x| List(Rc::new(x))); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 64 | [INFO] [stdout] 65 | / Parser::literal("(") [INFO] [stdout] 66 | | .discard_then_parse(white_space().many_min(0)) [INFO] [stdout] 67 | | .discard_then_parse(rob_pike) [INFO] [stdout] 68 | | .parse_then_discard(white_space().many_min(0)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parsemal.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 63 | let rob_pike = parse_expr().sep_by(white_space().many_min(1)).map_ast(|x| List(Rc::new(x))); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | .parse_then_discard(Parser::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 variable: `y` [INFO] [stdout] --> src/Parsers.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | self.lift2(p2, |x, y| x) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 27 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `map`, `sequence`, and `option` are never used [INFO] [stdout] --> src/Parsers.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 36 | impl Parser { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn sequence(v: Vec) -> Parser> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `not` is never used [INFO] [stdout] --> src/Parsers.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 141 | impl Parser { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `join` is never used [INFO] [stdout] --> src/Parsers.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl Parser> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 207 | pub fn join(self, parser2: Self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `integer` is never used [INFO] [stdout] --> src/parsefloat.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Parser { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 41 | pub fn integer() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | Str(String), [INFO] [stdout] | --- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | Str(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | Symbol(String), [INFO] [stdout] | ------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | Symbol(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | Num(f64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 | Num(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `untitled` (bin "untitled") due to 28 previous errors; 16 warnings emitted [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 15 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parsemal.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | List(Rc>), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Maltype` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | List(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Parsers` should have a snake case name [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | mod Parsers; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `parsers` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` 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/Parsers.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(p: impl for<'a> Fn(&'a str) -> ParseResult<'a, A> + 'static) -> Self { [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | Parser:: { 0: Rc::new(p) } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/Parsers.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn map_ast(self, f: impl Fn(A) -> B + 'static) -> Parser { [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] 45 | Parser::new(move |t: &str| match self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 46 | | Ok(s) => ok_parse(s.remaining_str, f(s.ast)), [INFO] [stdout] 47 | | Err(_) => Err(anyhow!("didnt work")), [INFO] [stdout] 48 | | }) [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/Parsers.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn map_ast(self, f: impl Fn(A) -> B + 'static) -> Parser { [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] 45 | Parser::new(move |t: &str| match self(t) { [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/Parsers.rs:51:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn lift2(self, p2: Parser, f: impl Fn(A, B) -> C + 'static) -> Parser { [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] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 52 | | let res1 = self(t)?; [INFO] [stdout] 53 | | let res2 = p2(res1.remaining_str)?; [INFO] [stdout] 54 | | ok_parse(res2.remaining_str, f(res1.ast, res2.ast)) [INFO] [stdout] 55 | | }) [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/Parsers.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn lift2(self, p2: Parser, f: impl Fn(A, B) -> C + 'static) -> Parser { [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] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | Parser::new(move |t: &str| { [INFO] [stdout] 52 | let res1 = self(t)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 53 | let res2 = p2(res1.remaining_str)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | ok_parse(res2.remaining_str, f(res1.ast, res2.ast)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [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/Parsers.rs:58:21 [INFO] [stdout] | [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [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] 58 | Parser::new(move |t| f(self(t))) [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/Parsers.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 57 | fn map(self, f: impl Fn(ParseResult) -> ParseResult + 'static) -> Parser { [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] 58 | Parser::new(move |t| f(self(t))) [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/Parsers.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn many(self, min: usize, max: usize) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 62 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 63 | | let mut result = vec![]; [INFO] [stdout] 64 | | let mut text = t; [INFO] [stdout] 65 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] 82 | | }) [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/Parsers.rs:91:21 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn sequence(v: Vec) -> Parser> { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 92 | | let mut text = t; [INFO] [stdout] 93 | | let mut result = vec![]; [INFO] [stdout] 94 | | for i in &v { [INFO] [stdout] ... | [INFO] [stdout] 99 | | ok_parse(text, result) [INFO] [stdout] 100 | | }) [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/Parsers.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn choice(s: Vec) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 104 | Parser::new(move |t: &str| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 105 | | let text = t; [INFO] [stdout] 106 | | let mut s = s.iter(); [INFO] [stdout] 107 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 111 | | } [INFO] [stdout] 112 | | }) [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/Parsers.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 116 | Parser::new(move |t: &str| match self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 117 | | Ok(i) => ok_parse(i.remaining_str, Some(i.ast)), [INFO] [stdout] 118 | | Err(_) => ok_parse(t, None), [INFO] [stdout] 119 | | }) [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/Parsers.rs:116:42 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn option(self) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 116 | Parser::new(move |t: &str| match self(t) { [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/Parsers.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn bind(self, f: impl Fn(A) -> Parser + 'static) -> Parser { [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] 123 | Parser::new(move |t| { [INFO] [stdout] | _____________________^ [INFO] [stdout] 124 | | let x = self(t)?; [INFO] [stdout] 125 | | let p2 = f(x.ast); [INFO] [stdout] 126 | | p2(x.remaining_str) [INFO] [stdout] 127 | | }) [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/Parsers.rs:143:21 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | Parser::new(move |t: &str| match &self(t) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 144 | | Ok(_) => Err(anyhow!("it succeeded when we wanted failure")), [INFO] [stdout] 145 | | Err(_) => ok_parse(t, A::default()), [INFO] [stdout] 146 | | }) [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/Parsers.rs:143:43 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn not(self) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | Parser::new(move |t: &str| match &self(t) { [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/Parsers.rs:152:21 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn or_default(self, default: A) -> Self { [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] 152 | Parser::new(move |t| Ok(self(t).unwrap_or(OkP::new(t, default.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/Parsers.rs:152:33 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn or_default(self, default: A) -> Self { [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] 152 | Parser::new(move |t| Ok(self(t).unwrap_or(OkP::new(t, default.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/Parsers.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn default(x: A) -> Parser { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | Parser::new(move |t| ok_parse(t, x.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/Parsers.rs:155:42 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn default(x: A) -> Parser { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | Parser::new(move |t| ok_parse(t, x.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/Parsers.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn sep_by(self, sep: Parser) -> Parser> { [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] 158 | let s = sep.discard_then_parse(self.clone()).many_min(0); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Parser::new(move |text| match self(text) { [INFO] [stdout] | _____________________^ [INFO] [stdout] 160 | | Ok(t) =>{ [INFO] [stdout] 161 | | let (remaining, ast) = (t.remaining_str, t.ast) ; [INFO] [stdout] 162 | | s.clone().map_ast(move |x| { [INFO] [stdout] ... | [INFO] [stdout] 167 | | Err(_) => Ok(OkP::new(text, vec![])), [INFO] [stdout] 168 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/Parsers.rs:159:39 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn sep_by(self, sep: Parser) -> Parser> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 158 | let s = sep.discard_then_parse(self.clone()).many_min(0); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 159 | Parser::new(move |text| match self(text) { [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/Parsers.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn char_predicate(f: impl Fn(char) -> bool + 'static) -> Self { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | Parser::any().bind(move |t| { [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/Parsers.rs:196:28 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn char_predicate(f: impl Fn(char) -> bool + 'static) -> Self { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | Parser::any().bind(move |t| { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 197 | | if f(t) { [INFO] [stdout] 198 | | Parser::default(t) [INFO] [stdout] 199 | | } else { [INFO] [stdout] 200 | | Parser::fail("didnt work".to_string()) [INFO] [stdout] 201 | | } [INFO] [stdout] 202 | | }) [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/Parsers.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn ok_parse(remaining_str: &str, ast: A) -> ParseResult { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 215 | Ok(OkP::new(remaining_str, ast)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `isAlphaNumeric` should have a snake case name [INFO] [stdout] --> src/parsefloat.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn isAlphaNumeric() -> Parser { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_alpha_numeric` [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/parsemal.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 45 | let double_quote = Parser::literal("\""); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | let escape_char = Parser::literal("\\") [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 54 | let non_escape_char = Parser::char_predicate(|x| x != '"'); [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | let str_char = vec![escape_char, non_escape_char].choice(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 56 | / double_quote [INFO] [stdout] 57 | | .clone() [INFO] [stdout] 58 | | .discard_then_parse(str_char.map_ast(|x| x.to_string()).many_min(0)) [INFO] [stdout] 59 | | .map_ast(|x| Str(x.join(""))) [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/parsemal.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 63 | let rob_pike = parse_expr().sep_by(white_space().many_min(1)).map_ast(|x| List(Rc::new(x))); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 64 | [INFO] [stdout] 65 | / Parser::literal("(") [INFO] [stdout] 66 | | .discard_then_parse(white_space().many_min(0)) [INFO] [stdout] 67 | | .discard_then_parse(rob_pike) [INFO] [stdout] 68 | | .parse_then_discard(white_space().many_min(0)) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parsemal.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 63 | let rob_pike = parse_expr().sep_by(white_space().many_min(1)).map_ast(|x| List(Rc::new(x))); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | .parse_then_discard(Parser::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] error: aborting due to 27 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `untitled` (bin "untitled" test) due to 28 previous errors; 16 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d4cf1db6f42b80b28b412b463cc2313b420566af9b52f6bd37f457a6b13ffae4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d4cf1db6f42b80b28b412b463cc2313b420566af9b52f6bd37f457a6b13ffae4", kill_on_drop: false }` [INFO] [stdout] d4cf1db6f42b80b28b412b463cc2313b420566af9b52f6bd37f457a6b13ffae4