[INFO] fetching crate wallust 3.0.0... [INFO] checking wallust-3.0.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate wallust 3.0.0 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate wallust 3.0.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate wallust 3.0.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate wallust 3.0.0 [INFO] tweaked toml for crates.io crate wallust 3.0.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate wallust 3.0.0 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f1658a8415cbabacdca9d29c9f9363d48c76cd8dd780319b71131dd6145553c0 [INFO] running `Command { std: "docker" "start" "-a" "f1658a8415cbabacdca9d29c9f9363d48c76cd8dd780319b71131dd6145553c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f1658a8415cbabacdca9d29c9f9363d48c76cd8dd780319b71131dd6145553c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f1658a8415cbabacdca9d29c9f9363d48c76cd8dd780319b71131dd6145553c0", kill_on_drop: false }` [INFO] [stdout] f1658a8415cbabacdca9d29c9f9363d48c76cd8dd780319b71131dd6145553c0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 26b37f58ae65cdee322c4d2699c691367bb924db98d65db5314db730f34b2005 [INFO] running `Command { std: "docker" "start" "-a" "26b37f58ae65cdee322c4d2699c691367bb924db98d65db5314db730f34b2005", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.122 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling tinyvec v1.8.0 [INFO] [stderr] Compiling derive_builder_core v0.20.0 [INFO] [stderr] Compiling camino v1.1.7 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling built v0.7.4 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking aligned-vec v0.5.0 [INFO] [stderr] Checking clap_builder v4.5.13 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling vergen-lib v0.1.3 [INFO] [stderr] Compiling vergen v9.0.0 [INFO] [stderr] Compiling vergen-git2 v1.0.0 [INFO] [stderr] Compiling clap_derive v4.5.13 [INFO] [stderr] Compiling deranged v0.3.11 [INFO] [stderr] Compiling cc v1.1.7 [INFO] [stderr] Compiling profiling-procmacros v1.0.15 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Checking v_frame v0.3.8 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling derive_builder_macro v0.20.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling clap_lex v0.7.2 [INFO] [stderr] Compiling anstyle v1.0.8 [INFO] [stderr] Checking flate2 v1.0.31 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling derive_builder v0.20.0 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Compiling time v0.3.36 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Compiling palette v0.7.6 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling libz-sys v1.1.18 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Compiling url v2.5.2 [INFO] [stderr] Checking av1-grain v0.2.3 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking imgref v1.10.1 [INFO] [stderr] Checking bitstream-io v2.5.0 [INFO] [stderr] Compiling by_address v1.2.1 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking indexmap v2.3.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Compiling palette_derive v0.7.6 [INFO] [stderr] Checking rgb v0.8.47 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking avif-serialize v0.8.1 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking clap v4.5.13 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking fast-srgb8 v1.0.0 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking image-webp v0.1.3 [INFO] [stderr] Checking zune-jpeg v0.4.13 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling document-features v0.2.10 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking plotters-backend v0.3.6 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking memo-map v0.3.3 [INFO] [stderr] Checking self_cell v1.0.4 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking shellexpand v3.1.0 [INFO] [stderr] Checking plotters-svg v0.3.6 [INFO] [stderr] Checking spinners v4.1.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking fast_image_resize v4.2.1 [INFO] [stderr] Checking new_string_template v1.5.3 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking owo-colors v4.0.0 [INFO] [stderr] Checking dunce v1.0.5 [INFO] [stderr] Checking plotters v0.3.6 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking roff v0.2.2 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking tempfile v3.11.0 [INFO] [stderr] Checking clap_mangen v0.2.23 [INFO] [stderr] Checking clap_complete v4.5.12 [INFO] [stderr] Checking word_iter v0.2.1 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking minijinja v2.1.1 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking toml_edit v0.22.20 [INFO] [stderr] Compiling cargo-platform v0.1.8 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Compiling cargo_metadata v0.18.1 [INFO] [stderr] Compiling wallust_themes v1.0.0 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking ravif v0.11.9 [INFO] [stderr] Checking image v0.25.2 [INFO] [stderr] Checking kmeans_colors v0.6.0 [INFO] [stderr] Compiling git2 v0.19.0 [INFO] [stderr] Compiling wallust v3.0.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] warning: wallust@3.0.0: could not find repository at '/tmp/fixit'; class=Repository (6); code=NotFound (-3) [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_COMMIT_DATE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_DESCRIBE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_SHA set to default [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wallust` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/template.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($var:expr_2021, $func_name:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:33:6 [INFO] [stderr] | [INFO] [stderr] 33 | ($var:expr_2021, tostr => $func_name:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:38:6 [INFO] [stderr] | [INFO] [stderr] 38 | ($var:expr_2021, $func_name:ident, $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:42:6 [INFO] [stderr] | [INFO] [stderr] 42 | ($var:expr_2021, tostr => $func_name:ident, $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | ($var:expr_2021, $func_name:ident, deref => $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:50:6 [INFO] [stderr] | [INFO] [stderr] 50 | ($var:expr_2021, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub gen: PathBuf, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:152:46 [INFO] [stdout] | [INFO] [stdout] 152 | let (new_path, ret) = match (normal, gen) { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:155:36 [INFO] [stdout] | [INFO] [stdout] 155 | (false, true) => (self.gen.clone(), true), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:148:58 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, gen: &G, ord: &ColorOrder) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:157:75 [INFO] [stdout] | [INFO] [stdout] 157 | Cs::Lab => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:158:80 [INFO] [stdout] | [INFO] [stdout] 158 | Cs::LabMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:160:75 [INFO] [stdout] | [INFO] [stdout] 160 | Cs::Lch => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:161:80 [INFO] [stdout] | [INFO] [stdout] 161 | Cs::LchMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:162:87 [INFO] [stdout] | [INFO] [stdout] 162 | Cs::LchAnsi => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, gen: &G) -> Vec> { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:314:64 [INFO] [stdout] | [INFO] [stdout] 314 | color_generator::(histo, threshold, gen) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:326:65 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:378:23 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:378:27 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:403:70 [INFO] [stdout] | [INFO] [stdout] 403 | let mut new = ColorHisto::color_generator(&histo, threshold, gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:499:98 [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, gen: &G) -> Vec> [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:507:24 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | ($var:expr, $func_name:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 29 | ($var:expr_2021, $func_name:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | ($var:expr, tostr => $func_name:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($var:expr_2021, tostr => $func_name:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | ($var:expr, $func_name:ident, $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 38 | ($var:expr_2021, $func_name:ident, $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | ($var:expr, tostr => $func_name:ident, $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 42 | ($var:expr_2021, tostr => $func_name:ident, $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | ($var:expr, $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($var:expr_2021, $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | ($var:expr, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 50 | ($var:expr_2021, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Fn(palette::rgb::Rgb, palette::rgb::Rgb, u8) -> Vec` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/colorspaces/mod.rs:131:26 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/colorspaces/mod.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `wallust` [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub gen: PathBuf, [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/template.rs [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:29:6 [INFO] [stderr] | [INFO] [stderr] 29 | ($var:expr_2021, $func_name:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:33:6 [INFO] [stderr] | [INFO] [stderr] 33 | ($var:expr_2021, tostr => $func_name:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:38:6 [INFO] [stderr] | [INFO] [stderr] 38 | ($var:expr_2021, $func_name:ident, $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:42:6 [INFO] [stderr] | [INFO] [stderr] 42 | ($var:expr_2021, tostr => $func_name:ident, $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | ($var:expr_2021, $func_name:ident, deref => $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/template.rs:50:6 [INFO] [stderr] | [INFO] [stderr] 50 | ($var:expr_2021, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:152:46 [INFO] [stdout] | [INFO] [stdout] 152 | let (new_path, ret) = match (normal, gen) { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/cache.rs:155:36 [INFO] [stdout] | [INFO] [stdout] 155 | (false, true) => (self.gen.clone(), true), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:148:58 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, gen: &G, ord: &ColorOrder) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:157:75 [INFO] [stdout] | [INFO] [stdout] 157 | Cs::Lab => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:158:80 [INFO] [stdout] | [INFO] [stdout] 158 | Cs::LabMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:160:75 [INFO] [stdout] | [INFO] [stdout] 160 | Cs::Lch => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:161:80 [INFO] [stdout] | [INFO] [stdout] 161 | Cs::LchMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:162:87 [INFO] [stdout] | [INFO] [stdout] 162 | Cs::LchAnsi => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, gen: &G) -> Vec> { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:314:64 [INFO] [stdout] | [INFO] [stdout] 314 | color_generator::(histo, threshold, gen) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:326:65 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:378:23 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:378:27 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:403:70 [INFO] [stdout] | [INFO] [stdout] 403 | let mut new = ColorHisto::color_generator(&histo, threshold, gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:499:98 [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, gen: &G) -> Vec> [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/colorspaces/mod.rs:507:24 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | ($var:expr, $func_name:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 29 | ($var:expr_2021, $func_name:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | ($var:expr, tostr => $func_name:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($var:expr_2021, tostr => $func_name:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | ($var:expr, $func_name:ident, $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 38 | ($var:expr_2021, $func_name:ident, $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | ($var:expr, tostr => $func_name:ident, $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 42 | ($var:expr_2021, tostr => $func_name:ident, $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:46:11 [INFO] [stdout] | [INFO] [stdout] 46 | ($var:expr, $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 46 | ($var:expr_2021, $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/template.rs:50:11 [INFO] [stdout] | [INFO] [stdout] 50 | ($var:expr, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 50 | ($var:expr_2021, tostr => $func_name:ident, deref => $arg:ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Fn(palette::rgb::Rgb, palette::rgb::Rgb, u8) -> Vec` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/colorspaces/mod.rs:131:26 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/colorspaces/mod.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed src/main.rs (3 fixes) [INFO] [stderr] Migrating tests/completions.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/template.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/man.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/args.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/cache.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.69s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling wallust v3.0.0 (/tmp/fixit) [INFO] [stderr] warning: wallust@3.0.0: could not find repository at '/tmp/fixit'; class=Repository (6); code=NotFound (-3) [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_COMMIT_DATE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_DESCRIBE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_SHA set to default [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Cache { [INFO] [stdout] | ----- while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub gen: PathBuf, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 26 | pub r#gen: PathBuf, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Cache { [INFO] [stdout] | ----- while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub gen: PathBuf, [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 26 | pub r#gen: PathBuf, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 118 | r#gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 118 | r#gen: cachepath.join(generation + ".json"), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.gen); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.r#gen); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.gen); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | self.path.clone_from(&self.r#gen); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 150 | let r#gen = self.gen.exists(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 150 | let r#gen = self.gen.exists(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:152:46 [INFO] [stdout] | [INFO] [stdout] 152 | let (new_path, ret) = match (normal, gen) { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:150:24 [INFO] [stdout] | [INFO] [stdout] 150 | let gen = self.gen.exists(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:155:36 [INFO] [stdout] | [INFO] [stdout] 155 | (false, true) => (self.gen.clone(), true), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:152:46 [INFO] [stdout] | [INFO] [stdout] 152 | let (new_path, ret) = match (normal, gen) { [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/cache.rs:155:36 [INFO] [stdout] | [INFO] [stdout] 155 | (false, true) => (self.gen.clone(), true), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | pub fn r#gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:148:58 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, gen: &G, ord: &ColorOrder) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, r#gen: &G, ord: &ColorOrder) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 131 | pub fn r#gen(&self) -> impl Fn(Srgb, Srgb, u8) -> Vec { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:148:58 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, gen: &G, ord: &ColorOrder) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 148 | pub fn main(&self, bytes_rgb8: &[u8], threshold: u8, r#gen: &G, ord: &ColorOrder) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:157:75 [INFO] [stdout] | [INFO] [stdout] 157 | Cs::Lab => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:157:75 [INFO] [stdout] | [INFO] [stdout] 157 | Cs::Lab => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:158:80 [INFO] [stdout] | [INFO] [stdout] 158 | Cs::LabMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:158:80 [INFO] [stdout] | [INFO] [stdout] 158 | Cs::LabMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:160:75 [INFO] [stdout] | [INFO] [stdout] 160 | Cs::Lch => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:160:75 [INFO] [stdout] | [INFO] [stdout] 160 | Cs::Lch => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:161:80 [INFO] [stdout] | [INFO] [stdout] 161 | Cs::LchMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:161:80 [INFO] [stdout] | [INFO] [stdout] 161 | Cs::LchMixed => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:162:87 [INFO] [stdout] | [INFO] [stdout] 162 | Cs::LchAnsi => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:162:87 [INFO] [stdout] | [INFO] [stdout] 162 | Cs::LchAnsi => main::(bytes_rgb8, threshold, gen, mix, ord, dedup), [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, gen: &G) -> Vec> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, r#gen: &G) -> Vec> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, gen: &G) -> Vec> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 313 | fn color_generator(histo: &[Histo], threshold: u8, r#gen: &G) -> Vec> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:314:64 [INFO] [stdout] | [INFO] [stdout] 314 | color_generator::(histo, threshold, gen) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:314:64 [INFO] [stdout] | [INFO] [stdout] 314 | color_generator::(histo, threshold, gen) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:326:65 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, r#gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:378:23 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:326:65 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 326 | pub fn main(bytes_rgb8: &[u8], threshold: u8, r#gen: &G, mix: bool, ord: &ColorOrder, dedup: bool) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:403:70 [INFO] [stdout] | [INFO] [stdout] 403 | let mut new = ColorHisto::color_generator(&histo, threshold, gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:378:23 [INFO] [stdout] | [INFO] [stdout] 378 | let mut new = gen.gen()(histo[0].color.into_color(), histo[1].color.into_color(), MIN_COLS) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:403:70 [INFO] [stdout] | [INFO] [stdout] 403 | let mut new = ColorHisto::color_generator(&histo, threshold, gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:499:98 [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, gen: &G) -> Vec> [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, r#gen: &G) -> Vec> [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:499:98 [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, gen: &G) -> Vec> [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 499 | fn color_generator> (histo: &[Histo], threshold: u8, r#gen: &G) -> Vec> [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/colorspaces/mod.rs:507:20 [INFO] [stdout] | [INFO] [stdout] 507 | let rgbs = gen.gen()(color_a, color_b, MAX_COLS) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: wallust@3.0.0: could not find repository at '/tmp/fixit'; class=Repository (6); code=NotFound (-3) [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_COMMIT_DATE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_DESCRIBE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_SHA set to default [INFO] [stderr] [INFO] [stderr] error: could not compile `wallust` (lib) due to 22 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: wallust@3.0.0: could not find repository at '/tmp/fixit'; class=Repository (6); code=NotFound (-3) [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_COMMIT_DATE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_DESCRIBE set to default [INFO] [stderr] warning: wallust@3.0.0: VERGEN_GIT_SHA set to default [INFO] [stderr] [INFO] [stderr] error: could not compile `wallust` (lib test) due to 22 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "26b37f58ae65cdee322c4d2699c691367bb924db98d65db5314db730f34b2005", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26b37f58ae65cdee322c4d2699c691367bb924db98d65db5314db730f34b2005", kill_on_drop: false }` [INFO] [stdout] 26b37f58ae65cdee322c4d2699c691367bb924db98d65db5314db730f34b2005