[INFO] cloning repository https://github.com/KeenS/pattern-match-compile [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KeenS/pattern-match-compile" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKeenS%2Fpattern-match-compile", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKeenS%2Fpattern-match-compile'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fca6481b02c31c2507bda25e10949482e4384a2f [INFO] checking KeenS/pattern-match-compile/fca6481b02c31c2507bda25e10949482e4384a2f 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%2FKeenS%2Fpattern-match-compile" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/KeenS/pattern-match-compile 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/KeenS/pattern-match-compile [INFO] finished tweaking git repo https://github.com/KeenS/pattern-match-compile [INFO] tweaked toml for git repo https://github.com/KeenS/pattern-match-compile written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/KeenS/pattern-match-compile 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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 638d3ec829b3cc213487f14feaa6cb2c9421d6cec61a11f11a5942d398808286 [INFO] running `Command { std: "docker" "start" "-a" "638d3ec829b3cc213487f14feaa6cb2c9421d6cec61a11f11a5942d398808286", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "638d3ec829b3cc213487f14feaa6cb2c9421d6cec61a11f11a5942d398808286", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "638d3ec829b3cc213487f14feaa6cb2c9421d6cec61a11f11a5942d398808286", kill_on_drop: false }` [INFO] [stdout] 638d3ec829b3cc213487f14feaa6cb2c9421d6cec61a11f11a5942d398808286 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1ad0afc2451ea4f938ab81e1ae40031a24499c802aba2358e7eb76e617f1d8b6 [INFO] running `Command { std: "docker" "start" "-a" "1ad0afc2451ea4f938ab81e1ae40031a24499c802aba2358e7eb76e617f1d8b6", kill_on_drop: false }` [INFO] [stderr] Checking pattern-match-compile v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/main.rs:1436:9 [INFO] [stdout] | [INFO] [stdout] 1436 | let m = { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m3` [INFO] [stdout] --> src/main.rs:1578:9 [INFO] [stdout] | [INFO] [stdout] 1578 | let m3 = { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `consv` is never used [INFO] [stdout] --> src/main.rs:1589:12 [INFO] [stdout] | [INFO] [stdout] 1589 | fn consv(arg: Expr) -> Expr { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Symbol` is never constructed [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 63 | Symbol(Symbol), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are 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/main.rs:262:63 [INFO] [stdout] | [INFO] [stdout] 262 | .map(|(pat, arm)| self.pattern_match(pat, cond.clone()).map(|()| arm)) [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/main.rs:262:81 [INFO] [stdout] | [INFO] [stdout] 262 | .map(|(pat, arm)| self.pattern_match(pat, cond.clone()).map(|()| arm)) [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/main.rs:283:15 [INFO] [stdout] | [INFO] [stdout] 282 | fn pattern_match(&mut self, pattern: case::Pattern, value: case::Value) -> Result<(), Fail> { [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] 283 | match (pattern, value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:463:34 [INFO] [stdout] | [INFO] [stdout] 462 | fn compile_tuple(&mut self, data: Vec) -> simple_case::Expr { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 463 | simple_case::Expr::Tuple(data.into_iter().map(|d| self.compile(d)).collect()) [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/main.rs:469:19 [INFO] [stdout] | [INFO] [stdout] 466 | fn compile_inject(&mut self, discriminant: u8, data: Option) -> simple_case::Expr { [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 469 | data: data.map(|d| Box::new(self.compile(d))), [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/main.rs:469:41 [INFO] [stdout] | [INFO] [stdout] 469 | data: data.map(|d| Box::new(self.compile(d))), [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/main.rs:487:19 [INFO] [stdout] | [INFO] [stdout] 475 | cond: case::Expr, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 476 | ty: TypeId, [INFO] [stdout] 477 | clauses: Vec<(case::Pattern, case::Expr)>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 478 | ) -> simple_case::Expr { [INFO] [stdout] 479 | let cond = self.compile(cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 480 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 487 | expr: Box::new(cond), [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/main.rs:489:19 [INFO] [stdout] | [INFO] [stdout] 475 | cond: case::Expr, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 476 | ty: TypeId, [INFO] [stdout] 477 | clauses: Vec<(case::Pattern, case::Expr)>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 478 | ) -> simple_case::Expr { [INFO] [stdout] 479 | let cond = self.compile(cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 480 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 489 | body: Box::new(self.pattern_compiler.compile(vec![(v, ty)], clauses)), [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/main.rs:482:43 [INFO] [stdout] | [INFO] [stdout] 482 | .map(|(pat, arm)| (vec![pat], self.compile(arm))) [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/main.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 546 | mut clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 547 | ) -> simple_case::Expr { [INFO] [stdout] 548 | clauses.remove(0).1 [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/main.rs:607:19 [INFO] [stdout] | [INFO] [stdout] 580 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 607 | cond: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:702:19 [INFO] [stdout] | [INFO] [stdout] 686 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 696 | let fallback = self.compile(cond.clone(), other.to_vec()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 697 | // 再帰コンパイル [INFO] [stdout] 698 | let expr = self.compile(cond, clauses.to_vec()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 702 | expr: Box::new(expr), [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/main.rs:703:22 [INFO] [stdout] | [INFO] [stdout] 686 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 696 | let fallback = self.compile(cond.clone(), other.to_vec()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 697 | // 再帰コンパイル [INFO] [stdout] 698 | let expr = self.compile(cond, clauses.to_vec()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 703 | handler: Box::new(fallback), [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/main.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 710 | / clause_with_heads: impl Iterator< [INFO] [stdout] 711 | | Item = &'b ( [INFO] [stdout] 712 | | (u8, Option), [INFO] [stdout] 713 | | (Stack, simple_case::Expr), [INFO] [stdout] 714 | | ), [INFO] [stdout] 715 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 718 | / clause_with_heads [INFO] [stdout] 719 | | .filter(|(head, _)| head.0 == discriminant) [INFO] [stdout] 720 | | .cloned() [INFO] [stdout] 721 | | .map(|(head, (mut pat, arm))| { [INFO] [stdout] 722 | | pat.extend(head.1.into_iter()); [INFO] [stdout] 723 | | (pat, arm) [INFO] [stdout] 724 | | }) [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/main.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 731 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 734 | / self.type_db [INFO] [stdout] 735 | | .find(&type_id) [INFO] [stdout] 736 | | .cloned() [INFO] [stdout] 737 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 740 | | .map(|c| c.discriminant) [INFO] [stdout] 741 | | .collect::>() [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/main.rs:742:16 [INFO] [stdout] | [INFO] [stdout] 731 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 742 | == discriminansts.into_iter().collect::>() [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/main.rs:755:19 [INFO] [stdout] | [INFO] [stdout] 750 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 751 | ) -> simple_case::Expr { [INFO] [stdout] 752 | let expr = self.compile(cond, clauses); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 755 | expr: Box::new(expr), [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/main.rs:756:22 [INFO] [stdout] | [INFO] [stdout] 750 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 751 | ) -> simple_case::Expr { [INFO] [stdout] 752 | let expr = self.compile(cond, clauses); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 756 | handler: Box::new(simple_case::Expr::RaiseMatch), [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/main.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 800 | mut clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 803 | let (patterns, expr) = clauses.remove(0); [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] 804 | / patterns [INFO] [stdout] 805 | | // 全ての列に対して [INFO] [stdout] 806 | | .into_iter() [INFO] [stdout] 807 | | // 変数をしてとりだして [INFO] [stdout] 808 | | .map(|p| p.variable()) [INFO] [stdout] 809 | | // let val p = c in ... end を作る [INFO] [stdout] 810 | | .zip(cond.iter().cloned()) [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/main.rs:812:23 [INFO] [stdout] | [INFO] [stdout] 811 | .fold(expr, |acc, (p, (sym, _))| simple_case::Expr::Let { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 812 | expr: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:814:23 [INFO] [stdout] | [INFO] [stdout] 811 | .fold(expr, |acc, (p, (sym, _))| simple_case::Expr::Let { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 814 | body: Box::new(acc), [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/main.rs:885:19 [INFO] [stdout] | [INFO] [stdout] 843 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 850 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 885 | cond: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:976:9 [INFO] [stdout] | [INFO] [stdout] 971 | / clause_with_heads: impl Iterator< [INFO] [stdout] 972 | | Item = &'b (case::Pattern, (Stack, simple_case::Expr)), [INFO] [stdout] 973 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 976 | / clause_with_heads [INFO] [stdout] 977 | | .filter_map(|(head, clause)| match head { [INFO] [stdout] 978 | | // 判別子が一致するコンストラクタパターンはそのままあつめる [INFO] [stdout] 979 | | case::Pattern::Constructor { [INFO] [stdout] ... | [INFO] [stdout] 1009 | | (pat, arm) [INFO] [stdout] 1010 | | }) [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/main.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1017 | / clause_with_heads: impl Iterator< [INFO] [stdout] 1018 | | Item = &'b (case::Pattern, (Stack, simple_case::Expr)), [INFO] [stdout] 1019 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1020 | ) -> Vec<(Stack, simple_case::Expr)> { [INFO] [stdout] 1021 | / clause_with_heads [INFO] [stdout] 1022 | | .filter(|(head, _)| head.is_variable()) [INFO] [stdout] 1023 | | .cloned() [INFO] [stdout] 1024 | | .map(|(p, (pat, arm))| { [INFO] [stdout] ... | [INFO] [stdout] 1031 | | (pat, arm) [INFO] [stdout] 1032 | | }) [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/main.rs:1041:9 [INFO] [stdout] | [INFO] [stdout] 1039 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1040 | ) -> bool { [INFO] [stdout] 1041 | / self.type_db [INFO] [stdout] 1042 | | .find(&type_id) [INFO] [stdout] 1043 | | .cloned() [INFO] [stdout] 1044 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 1047 | | .map(|c| c.discriminant) [INFO] [stdout] 1048 | | .collect::>() [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/main.rs:1049:16 [INFO] [stdout] | [INFO] [stdout] 1039 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1049 | == discriminansts.into_iter().collect::>() [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/main.rs:1592:23 [INFO] [stdout] | [INFO] [stdout] 1589 | fn consv(arg: Expr) -> Expr { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1592 | data: Some(Box::new(arg)), [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/main.rs:1614:26 [INFO] [stdout] | [INFO] [stdout] 1611 | fn consp(car: Pattern, cdr: Pattern) -> Pattern { [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] 1614 | pattern: Some(Box::new(tuple2p(car, cdr))), [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: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:57:30 [INFO] [stdout] | [INFO] [stdout] 57 | for d in data.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 57 | while let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | for d in value.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 100 | while let Some(d) = value.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(d) = value.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | for p in pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(p) = pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(p) = pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | for d in data.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 165 | while let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 165 | if let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:219:30 [INFO] [stdout] | [INFO] [stdout] 219 | for s in data { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 219 | while let Some(s) = data { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 219 | if let Some(s) = data { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 28 previous errors; 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pattern-match-compile` (bin "pattern-match-compile") due to 29 previous errors; 9 warnings emitted [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/main.rs:1436:9 [INFO] [stdout] | [INFO] [stdout] 1436 | let m = { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `m3` [INFO] [stdout] --> src/main.rs:1578:9 [INFO] [stdout] | [INFO] [stdout] 1578 | let m3 = { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Symbol` is never constructed [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 63 | Symbol(Symbol), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:262:63 [INFO] [stdout] | [INFO] [stdout] 262 | .map(|(pat, arm)| self.pattern_match(pat, cond.clone()).map(|()| arm)) [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/main.rs:262:81 [INFO] [stdout] | [INFO] [stdout] 262 | .map(|(pat, arm)| self.pattern_match(pat, cond.clone()).map(|()| arm)) [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/main.rs:283:15 [INFO] [stdout] | [INFO] [stdout] 282 | fn pattern_match(&mut self, pattern: case::Pattern, value: case::Value) -> Result<(), Fail> { [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] 283 | match (pattern, value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:463:34 [INFO] [stdout] | [INFO] [stdout] 462 | fn compile_tuple(&mut self, data: Vec) -> simple_case::Expr { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 463 | simple_case::Expr::Tuple(data.into_iter().map(|d| self.compile(d)).collect()) [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/main.rs:469:19 [INFO] [stdout] | [INFO] [stdout] 466 | fn compile_inject(&mut self, discriminant: u8, data: Option) -> simple_case::Expr { [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 469 | data: data.map(|d| Box::new(self.compile(d))), [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/main.rs:469:41 [INFO] [stdout] | [INFO] [stdout] 469 | data: data.map(|d| Box::new(self.compile(d))), [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/main.rs:487:19 [INFO] [stdout] | [INFO] [stdout] 475 | cond: case::Expr, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 476 | ty: TypeId, [INFO] [stdout] 477 | clauses: Vec<(case::Pattern, case::Expr)>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 478 | ) -> simple_case::Expr { [INFO] [stdout] 479 | let cond = self.compile(cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 480 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 487 | expr: Box::new(cond), [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/main.rs:489:19 [INFO] [stdout] | [INFO] [stdout] 475 | cond: case::Expr, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 476 | ty: TypeId, [INFO] [stdout] 477 | clauses: Vec<(case::Pattern, case::Expr)>, [INFO] [stdout] | ----------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 478 | ) -> simple_case::Expr { [INFO] [stdout] 479 | let cond = self.compile(cond); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 480 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 489 | body: Box::new(self.pattern_compiler.compile(vec![(v, ty)], clauses)), [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/main.rs:482:43 [INFO] [stdout] | [INFO] [stdout] 482 | .map(|(pat, arm)| (vec![pat], self.compile(arm))) [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/main.rs:548:9 [INFO] [stdout] | [INFO] [stdout] 546 | mut clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 547 | ) -> simple_case::Expr { [INFO] [stdout] 548 | clauses.remove(0).1 [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/main.rs:607:19 [INFO] [stdout] | [INFO] [stdout] 580 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 607 | cond: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:702:19 [INFO] [stdout] | [INFO] [stdout] 686 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 696 | let fallback = self.compile(cond.clone(), other.to_vec()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 697 | // 再帰コンパイル [INFO] [stdout] 698 | let expr = self.compile(cond, clauses.to_vec()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 702 | expr: Box::new(expr), [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/main.rs:703:22 [INFO] [stdout] | [INFO] [stdout] 686 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 696 | let fallback = self.compile(cond.clone(), other.to_vec()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 697 | // 再帰コンパイル [INFO] [stdout] 698 | let expr = self.compile(cond, clauses.to_vec()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 703 | handler: Box::new(fallback), [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/main.rs:718:9 [INFO] [stdout] | [INFO] [stdout] 710 | / clause_with_heads: impl Iterator< [INFO] [stdout] 711 | | Item = &'b ( [INFO] [stdout] 712 | | (u8, Option), [INFO] [stdout] 713 | | (Stack, simple_case::Expr), [INFO] [stdout] 714 | | ), [INFO] [stdout] 715 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 718 | / clause_with_heads [INFO] [stdout] 719 | | .filter(|(head, _)| head.0 == discriminant) [INFO] [stdout] 720 | | .cloned() [INFO] [stdout] 721 | | .map(|(head, (mut pat, arm))| { [INFO] [stdout] 722 | | pat.extend(head.1.into_iter()); [INFO] [stdout] 723 | | (pat, arm) [INFO] [stdout] 724 | | }) [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/main.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 731 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 734 | / self.type_db [INFO] [stdout] 735 | | .find(&type_id) [INFO] [stdout] 736 | | .cloned() [INFO] [stdout] 737 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 740 | | .map(|c| c.discriminant) [INFO] [stdout] 741 | | .collect::>() [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/main.rs:742:16 [INFO] [stdout] | [INFO] [stdout] 731 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 742 | == discriminansts.into_iter().collect::>() [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/main.rs:755:19 [INFO] [stdout] | [INFO] [stdout] 750 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 751 | ) -> simple_case::Expr { [INFO] [stdout] 752 | let expr = self.compile(cond, clauses); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 755 | expr: Box::new(expr), [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/main.rs:756:22 [INFO] [stdout] | [INFO] [stdout] 750 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 751 | ) -> simple_case::Expr { [INFO] [stdout] 752 | let expr = self.compile(cond, clauses); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 756 | handler: Box::new(simple_case::Expr::RaiseMatch), [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/main.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 800 | mut clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ----------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 803 | let (patterns, expr) = clauses.remove(0); [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] 804 | / patterns [INFO] [stdout] 805 | | // 全ての列に対して [INFO] [stdout] 806 | | .into_iter() [INFO] [stdout] 807 | | // 変数をしてとりだして [INFO] [stdout] 808 | | .map(|p| p.variable()) [INFO] [stdout] 809 | | // let val p = c in ... end を作る [INFO] [stdout] 810 | | .zip(cond.iter().cloned()) [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/main.rs:812:23 [INFO] [stdout] | [INFO] [stdout] 811 | .fold(expr, |acc, (p, (sym, _))| simple_case::Expr::Let { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 812 | expr: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:814:23 [INFO] [stdout] | [INFO] [stdout] 811 | .fold(expr, |acc, (p, (sym, _))| simple_case::Expr::Let { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 814 | body: Box::new(acc), [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/main.rs:885:19 [INFO] [stdout] | [INFO] [stdout] 843 | clauses: Vec<(Stack, simple_case::Expr)>, [INFO] [stdout] | ------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 850 | let clauses = clauses [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 885 | cond: Box::new(simple_case::Expr::Symbol(sym)), [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/main.rs:976:9 [INFO] [stdout] | [INFO] [stdout] 971 | / clause_with_heads: impl Iterator< [INFO] [stdout] 972 | | Item = &'b (case::Pattern, (Stack, simple_case::Expr)), [INFO] [stdout] 973 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 976 | / clause_with_heads [INFO] [stdout] 977 | | .filter_map(|(head, clause)| match head { [INFO] [stdout] 978 | | // 判別子が一致するコンストラクタパターンはそのままあつめる [INFO] [stdout] 979 | | case::Pattern::Constructor { [INFO] [stdout] ... | [INFO] [stdout] 1009 | | (pat, arm) [INFO] [stdout] 1010 | | }) [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/main.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1017 | / clause_with_heads: impl Iterator< [INFO] [stdout] 1018 | | Item = &'b (case::Pattern, (Stack, simple_case::Expr)), [INFO] [stdout] 1019 | | >, [INFO] [stdout] | |_________- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1020 | ) -> Vec<(Stack, simple_case::Expr)> { [INFO] [stdout] 1021 | / clause_with_heads [INFO] [stdout] 1022 | | .filter(|(head, _)| head.is_variable()) [INFO] [stdout] 1023 | | .cloned() [INFO] [stdout] 1024 | | .map(|(p, (pat, arm))| { [INFO] [stdout] ... | [INFO] [stdout] 1031 | | (pat, arm) [INFO] [stdout] 1032 | | }) [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/main.rs:1041:9 [INFO] [stdout] | [INFO] [stdout] 1039 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1040 | ) -> bool { [INFO] [stdout] 1041 | / self.type_db [INFO] [stdout] 1042 | | .find(&type_id) [INFO] [stdout] 1043 | | .cloned() [INFO] [stdout] 1044 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 1047 | | .map(|c| c.discriminant) [INFO] [stdout] 1048 | | .collect::>() [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/main.rs:1049:16 [INFO] [stdout] | [INFO] [stdout] 1039 | discriminansts: impl IntoIterator, [INFO] [stdout] | -------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1049 | == discriminansts.into_iter().collect::>() [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/main.rs:1592:23 [INFO] [stdout] | [INFO] [stdout] 1589 | fn consv(arg: Expr) -> Expr { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1592 | data: Some(Box::new(arg)), [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/main.rs:1614:26 [INFO] [stdout] | [INFO] [stdout] 1611 | fn consp(car: Pattern, cdr: Pattern) -> Pattern { [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] 1614 | pattern: Some(Box::new(tuple2p(car, cdr))), [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: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:57:30 [INFO] [stdout] | [INFO] [stdout] 57 | for d in data.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 57 | while let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | for d in value.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 100 | while let Some(d) = value.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(d) = value.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | for p in pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(p) = pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(p) = pattern.as_ref().map(|p| &**p) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | for d in data.as_ref().map(|d| &**d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 165 | while let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 165 | if let Some(d) = data.as_ref().map(|d| &**d) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pp.rs:219:30 [INFO] [stdout] | [INFO] [stdout] 219 | for s in data { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 219 | while let Some(s) = data { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 219 | if let Some(s) = data { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 28 previous errors; 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pattern-match-compile` (bin "pattern-match-compile" test) due to 29 previous errors; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1ad0afc2451ea4f938ab81e1ae40031a24499c802aba2358e7eb76e617f1d8b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ad0afc2451ea4f938ab81e1ae40031a24499c802aba2358e7eb76e617f1d8b6", kill_on_drop: false }` [INFO] [stdout] 1ad0afc2451ea4f938ab81e1ae40031a24499c802aba2358e7eb76e617f1d8b6