[INFO] cloning repository https://github.com/wiltaylor/prefab [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wiltaylor/prefab" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiltaylor%2Fprefab", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiltaylor%2Fprefab'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e08ba7d0ae2bdee288bb1a43eee9ba42dbd2426 [INFO] testing wiltaylor/prefab against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiltaylor%2Fprefab" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wiltaylor/prefab [INFO] finished tweaking git repo https://github.com/wiltaylor/prefab [INFO] tweaked toml for git repo https://github.com/wiltaylor/prefab written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wiltaylor/prefab on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wiltaylor/prefab 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tui-input v0.8.0 [INFO] [stderr] Downloaded serde_spanned v0.6.3 [INFO] [stderr] Downloaded ignore v0.4.20 [INFO] [stderr] Downloaded anstyle v1.0.2 [INFO] [stderr] Downloaded pest_generator v2.7.3 [INFO] [stderr] Downloaded clap v4.4.2 [INFO] [stderr] Downloaded assert_fs v1.0.13 [INFO] [stderr] Downloaded anstyle-wincon v2.1.0 [INFO] [stderr] Downloaded toml v0.7.6 [INFO] [stderr] Downloaded anstream v0.5.0 [INFO] [stderr] Downloaded slug v0.1.4 [INFO] [stderr] Downloaded indoc v2.0.3 [INFO] [stderr] Downloaded chrono-tz-build v0.2.0 [INFO] [stderr] Downloaded pest_derive v2.7.3 [INFO] [stderr] Downloaded pest_meta v2.7.3 [INFO] [stderr] Downloaded deunicode v0.4.4 [INFO] [stderr] Downloaded winnow v0.5.15 [INFO] [stderr] Downloaded clap_builder v4.4.2 [INFO] [stderr] Downloaded globset v0.4.13 [INFO] [stderr] Downloaded pest v2.7.3 [INFO] [stderr] Downloaded ratatui v0.23.0 [INFO] [stderr] Downloaded chrono-tz v0.8.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 40392a08359ed5d7e508d3f6dd3c9a5deafc79f8bd9d50be1a86e9f5e138c767 [INFO] running `Command { std: "docker" "start" "-a" "40392a08359ed5d7e508d3f6dd3c9a5deafc79f8bd9d50be1a86e9f5e138c767", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "40392a08359ed5d7e508d3f6dd3c9a5deafc79f8bd9d50be1a86e9f5e138c767", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "40392a08359ed5d7e508d3f6dd3c9a5deafc79f8bd9d50be1a86e9f5e138c767", kill_on_drop: false }` [INFO] [stdout] 40392a08359ed5d7e508d3f6dd3c9a5deafc79f8bd9d50be1a86e9f5e138c767 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38809b6fe5e48f0f995817c4f2d59a798b299389bb5fdc18012517253fa42d74 [INFO] running `Command { std: "docker" "start" "-a" "38809b6fe5e48f0f995817c4f2d59a798b299389bb5fdc18012517253fa42d74", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.6.3 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling tracing-core v0.1.31 [INFO] [stderr] Compiling syn v2.0.31 [INFO] [stderr] Compiling sharded-slab v0.1.4 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling unic-common v0.9.0 [INFO] [stderr] Compiling unic-char-range v0.9.0 [INFO] [stderr] Compiling libm v0.2.7 [INFO] [stderr] Compiling walkdir v2.4.0 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling gimli v0.28.0 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling unic-ucd-version v0.9.0 [INFO] [stderr] Compiling unic-char-property v0.9.0 [INFO] [stderr] Compiling eyre v0.6.8 [INFO] [stderr] Compiling anstyle v1.0.2 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.105 [INFO] [stderr] Compiling chrono v0.4.29 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling aho-corasick v1.0.5 [INFO] [stderr] Compiling bstr v1.6.2 [INFO] [stderr] Compiling anstream v0.5.0 [INFO] [stderr] Compiling object v0.32.1 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling unic-ucd-segment v0.9.0 [INFO] [stderr] Compiling owo-colors v3.5.0 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling deranged v0.3.8 [INFO] [stderr] Compiling num_threads v0.1.6 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling regex-automata v0.3.8 [INFO] [stderr] Compiling deunicode v0.4.4 [INFO] [stderr] Compiling time-core v0.1.1 [INFO] [stderr] Compiling winnow v0.5.15 [INFO] [stderr] Compiling indenter v0.3.3 [INFO] [stderr] Compiling rustc-demangle v0.1.23 [INFO] [stderr] Compiling time v0.3.28 [INFO] [stderr] Compiling slug v0.1.4 [INFO] [stderr] Compiling clap_builder v4.4.2 [INFO] [stderr] Compiling unic-segment v0.9.0 [INFO] [stderr] Compiling humansize v2.1.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling addr2line v0.21.0 [INFO] [stderr] Compiling indoc v2.0.3 [INFO] [stderr] Compiling tui-input v0.8.0 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Compiling regex v1.9.5 [INFO] [stderr] Compiling parse-zoneinfo v0.3.0 [INFO] [stderr] Compiling clap v4.4.2 [INFO] [stderr] Compiling chrono-tz-build v0.2.0 [INFO] [stderr] Compiling chrono-tz v0.8.3 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Compiling tracing-attributes v0.1.26 [INFO] [stderr] Compiling strum_macros v0.25.2 [INFO] [stderr] Compiling globset v0.4.13 [INFO] [stderr] Compiling strum v0.25.0 [INFO] [stderr] Compiling ratatui v0.23.0 [INFO] [stderr] Compiling ignore v0.4.20 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling pest v2.7.3 [INFO] [stderr] Compiling tracing v0.1.37 [INFO] [stderr] Compiling tracing-error v0.2.0 [INFO] [stderr] Compiling globwalk v0.8.1 [INFO] [stderr] Compiling color-spantrace v0.2.0 [INFO] [stderr] Compiling color-eyre v0.6.2 [INFO] [stderr] Compiling pest_meta v2.7.3 [INFO] [stderr] Compiling pest_generator v2.7.3 [INFO] [stderr] Compiling pest_derive v2.7.3 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Compiling serde_spanned v0.6.3 [INFO] [stderr] Compiling toml_edit v0.19.14 [INFO] [stderr] Compiling tera v1.19.1 [INFO] [stderr] Compiling toml v0.7.6 [INFO] [stderr] Compiling prefab v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/template.rs:260:42 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 260 - if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] 260 + if let Some(path) = path.as_ref().to_str(){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `option` is never read [INFO] [stdout] --> src/tui/option_ui.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | Finished{option: TemplateOption} [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tui/option_ui.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/text.rs:94:47 [INFO] [stdout] | [INFO] [stdout] 94 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:86:47 [INFO] [stdout] | [INFO] [stdout] 86 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:92:50 [INFO] [stdout] | [INFO] [stdout] 92 | let orig = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:95:47 [INFO] [stdout] | [INFO] [stdout] 95 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.31s [INFO] running `Command { std: "docker" "inspect" "38809b6fe5e48f0f995817c4f2d59a798b299389bb5fdc18012517253fa42d74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38809b6fe5e48f0f995817c4f2d59a798b299389bb5fdc18012517253fa42d74", kill_on_drop: false }` [INFO] [stdout] 38809b6fe5e48f0f995817c4f2d59a798b299389bb5fdc18012517253fa42d74 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 66c9b918192896e78579734b8c4e5564198fe34e468f6549d6a605ce7edba159 [INFO] running `Command { std: "docker" "start" "-a" "66c9b918192896e78579734b8c4e5564198fe34e468f6549d6a605ce7edba159", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling rustix v0.38.11 [INFO] [stderr] Compiling linux-raw-sys v0.4.5 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling fastrand v2.0.0 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling ratatui v0.23.0 [INFO] [stderr] Compiling tui-input v0.8.0 [INFO] [stderr] Compiling predicates v3.0.3 [INFO] [stderr] Compiling prefab v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tempfile v3.8.0 [INFO] [stderr] Compiling assert_fs v1.0.13 [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/template.rs:260:42 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 260 - if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] 260 + if let Some(path) = path.as_ref().to_str(){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:34:56 [INFO] [stdout] | [INFO] [stdout] 34 | if let TemplateOption::FreeText { prompt:_, value, mandatory } = &opts["a"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:40:55 [INFO] [stdout] | [INFO] [stdout] 40 | if let TemplateOption::Boolean { prompt:_, value, mandatory } = &opts["b"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:46:64 [INFO] [stdout] | [INFO] [stdout] 46 | if let TemplateOption::Regex { prompt:_, pattern:_, value, mandatory } = &opts["c"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:52:64 [INFO] [stdout] | [INFO] [stdout] 52 | if let TemplateOption::Choice{ prompt:_, options:_, value, mandatory } = &opts["d"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:58:54 [INFO] [stdout] | [INFO] [stdout] 58 | if let TemplateOption::Integer{ prompt:_, value, mandatory } = &opts["e"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mandatory` [INFO] [stdout] --> tests/config.rs:64:52 [INFO] [stdout] | [INFO] [stdout] 64 | if let TemplateOption::Float{ prompt:_, value, mandatory } = &opts["f"] { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:26:55 [INFO] [stdout] | [INFO] [stdout] 26 | template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 26 - template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 26 + template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:53:74 [INFO] [stdout] | [INFO] [stdout] 53 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 53 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 53 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:54:43 [INFO] [stdout] | [INFO] [stdout] 54 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 54 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 54 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:98:74 [INFO] [stdout] | [INFO] [stdout] 98 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 98 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 98 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 99 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 99 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:137:74 [INFO] [stdout] | [INFO] [stdout] 137 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 137 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 137 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:138:43 [INFO] [stdout] | [INFO] [stdout] 138 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 138 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 138 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:181:74 [INFO] [stdout] | [INFO] [stdout] 181 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 181 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 181 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:182:43 [INFO] [stdout] | [INFO] [stdout] 182 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 182 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 182 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:232:74 [INFO] [stdout] | [INFO] [stdout] 232 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 232 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 232 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:233:43 [INFO] [stdout] | [INFO] [stdout] 233 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 233 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 233 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:269:74 [INFO] [stdout] | [INFO] [stdout] 269 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 269 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 269 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:270:43 [INFO] [stdout] | [INFO] [stdout] 270 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 270 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stdout] 270 + template.apply(target_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:293:74 [INFO] [stdout] | [INFO] [stdout] 293 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 293 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 293 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:294:56 [INFO] [stdout] | [INFO] [stdout] 294 | let result = template.apply(target_directory.path().clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 294 - let result = template.apply(target_directory.path().clone()); [INFO] [stdout] 294 + let result = template.apply(target_directory.path()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:310:74 [INFO] [stdout] | [INFO] [stdout] 310 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 310 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stdout] 310 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> tests/templates.rs:311:56 [INFO] [stdout] | [INFO] [stdout] 311 | let result = template.apply(target_directory.path().clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 311 - let result = template.apply(target_directory.path().clone()); [INFO] [stdout] 311 + let result = template.apply(target_directory.path()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `option` is never read [INFO] [stdout] --> src/tui/option_ui.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | Finished{option: TemplateOption} [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tui/option_ui.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/text.rs:94:47 [INFO] [stdout] | [INFO] [stdout] 94 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:86:47 [INFO] [stdout] | [INFO] [stdout] 86 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:92:50 [INFO] [stdout] | [INFO] [stdout] 92 | let orig = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:95:47 [INFO] [stdout] | [INFO] [stdout] 95 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `option` is never read [INFO] [stdout] --> src/tui/option_ui.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | Finished{option: TemplateOption} [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `EditorStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/tui/option_ui.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 16 | fn render_list_item(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/text.rs:94:47 [INFO] [stdout] | [INFO] [stdout] 94 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:86:47 [INFO] [stdout] | [INFO] [stdout] 86 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:92:50 [INFO] [stdout] | [INFO] [stdout] 92 | let orig = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/tui/number.rs:95:47 [INFO] [stdout] | [INFO] [stdout] 95 | let v = self.input.value().clone().to_string(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/template.rs:260:42 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 260 - if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stdout] 260 + if let Some(path) = path.as_ref().to_str(){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.98s [INFO] running `Command { std: "docker" "inspect" "66c9b918192896e78579734b8c4e5564198fe34e468f6549d6a605ce7edba159", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66c9b918192896e78579734b8c4e5564198fe34e468f6549d6a605ce7edba159", kill_on_drop: false }` [INFO] [stdout] 66c9b918192896e78579734b8c4e5564198fe34e468f6549d6a605ce7edba159 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3bf7d229084bb2dd80b9ea26cdec0e8f37769a5908d60df6d3aeb1be08799028 [INFO] running `Command { std: "docker" "start" "-a" "3bf7d229084bb2dd80b9ea26cdec0e8f37769a5908d60df6d3aeb1be08799028", kill_on_drop: false }` [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/template.rs:260:42 [INFO] [stderr] | [INFO] [stderr] 260 | if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 260 - if let Some(path) = path.as_ref().clone().to_str(){ [INFO] [stderr] 260 + if let Some(path) = path.as_ref().to_str(){ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `prefab` (lib) generated 1 warning (run `cargo fix --lib -p prefab` to apply 1 suggestion) [INFO] [stderr] warning: field `option` is never read [INFO] [stderr] --> src/tui/option_ui.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | Finished{option: TemplateOption} [INFO] [stderr] | -------- ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `EditorStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/tui/option_ui.rs:16:25 [INFO] [stderr] | [INFO] [stderr] 16 | fn render_list_item(&self) -> Result { [INFO] [stderr] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 16 | fn render_list_item(&self) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/tui/text.rs:94:47 [INFO] [stderr] | [INFO] [stderr] 94 | let v = self.input.value().clone().to_string(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/tui/number.rs:86:47 [INFO] [stderr] | [INFO] [stderr] 86 | let v = self.input.value().clone().to_string(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/tui/number.rs:92:50 [INFO] [stderr] | [INFO] [stderr] 92 | let orig = self.input.value().clone().to_string(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/tui/number.rs:95:47 [INFO] [stderr] | [INFO] [stderr] 95 | let v = self.input.value().clone().to_string(); [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: `prefab` (bin "prefab") generated 6 warnings (run `cargo fix --bin "prefab"` to apply 5 suggestions) [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:34:56 [INFO] [stderr] | [INFO] [stderr] 34 | if let TemplateOption::FreeText { prompt:_, value, mandatory } = &opts["a"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:40:55 [INFO] [stderr] | [INFO] [stderr] 40 | if let TemplateOption::Boolean { prompt:_, value, mandatory } = &opts["b"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:46:64 [INFO] [stderr] | [INFO] [stderr] 46 | if let TemplateOption::Regex { prompt:_, pattern:_, value, mandatory } = &opts["c"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:52:64 [INFO] [stderr] | [INFO] [stderr] 52 | if let TemplateOption::Choice{ prompt:_, options:_, value, mandatory } = &opts["d"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:58:54 [INFO] [stderr] | [INFO] [stderr] 58 | if let TemplateOption::Integer{ prompt:_, value, mandatory } = &opts["e"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mandatory` [INFO] [stderr] --> tests/config.rs:64:52 [INFO] [stderr] | [INFO] [stderr] 64 | if let TemplateOption::Float{ prompt:_, value, mandatory } = &opts["f"] { [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `mandatory: _` [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:26:55 [INFO] [stderr] | [INFO] [stderr] 26 | template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 26 - template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 26 + template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:53:74 [INFO] [stderr] | [INFO] [stderr] 53 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 53 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 53 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:54:43 [INFO] [stderr] | [INFO] [stderr] 54 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 54 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 54 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:98:74 [INFO] [stderr] | [INFO] [stderr] 98 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 98 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 98 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:99:43 [INFO] [stderr] | [INFO] [stderr] 99 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 99 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 99 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:137:74 [INFO] [stderr] | [INFO] [stderr] 137 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 137 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 137 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:138:43 [INFO] [stderr] | [INFO] [stderr] 138 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 138 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 138 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:181:74 [INFO] [stderr] | [INFO] [stderr] 181 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 181 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 181 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:182:43 [INFO] [stderr] | [INFO] [stderr] 182 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 182 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 182 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:232:74 [INFO] [stderr] | [INFO] [stderr] 232 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 232 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 232 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:233:43 [INFO] [stderr] | [INFO] [stderr] 233 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 233 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 233 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:269:74 [INFO] [stderr] | [INFO] [stderr] 269 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 269 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 269 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:270:43 [INFO] [stderr] | [INFO] [stderr] 270 | template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 270 - template.apply(target_directory.path().clone()).unwrap(); [INFO] [stderr] 270 + template.apply(target_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:293:74 [INFO] [stderr] | [INFO] [stderr] 293 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 293 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 293 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:294:56 [INFO] [stderr] | [INFO] [stderr] 294 | let result = template.apply(target_directory.path().clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 294 - let result = template.apply(target_directory.path().clone()); [INFO] [stderr] 294 + let result = template.apply(target_directory.path()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:310:74 [INFO] [stderr] | [INFO] [stderr] 310 | let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 310 - let mut template = template::Template::load(template_directory.path().clone()).unwrap(); [INFO] [stderr] 310 + let mut template = template::Template::load(template_directory.path()).unwrap(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> tests/templates.rs:311:56 [INFO] [stderr] | [INFO] [stderr] 311 | let result = template.apply(target_directory.path().clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed [INFO] [stderr] help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] 311 - let result = template.apply(target_directory.path().clone()); [INFO] [stderr] 311 + let result = template.apply(target_directory.path()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `prefab` (test "config") generated 6 warnings [INFO] [stderr] warning: `prefab` (bin "prefab" test) generated 6 warnings (6 duplicates) [INFO] [stderr] warning: `prefab` (test "templates") generated 17 warnings (run `cargo fix --test "templates"` to apply 17 suggestions) [INFO] [stderr] warning: `prefab` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/prefab-3430281fdafb58bf) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test util::tests::can_copy_directory_contents_to_other_directory ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/prefab-89be17ae7f3c3cb8) [INFO] [stdout] [INFO] [stderr] Running tests/config.rs (/opt/rustwide/target/debug/deps/config-999dd5d838f31f0c) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test can_load_config ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/templates.rs (/opt/rustwide/target/debug/deps/templates-566f273505e5143b) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test can_return_error_if_choice_doesnt_match ... ok [INFO] [stdout] test can_return_error_if_regex_doesnt_match ... ok [INFO] [stdout] test can_generate_static_files_from_template ... ok [INFO] [stdout] test can_run_before_hook ... ok [INFO] [stdout] test can_replace_template_variables_in_path ... ok [INFO] [stdout] test can_run_after_hook ... ok [INFO] [stdout] test can_generate_template ... ok [INFO] [stdout] test can_call_system_in_template ... ok [INFO] [stdout] test can_load_template ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Doc-tests prefab [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3bf7d229084bb2dd80b9ea26cdec0e8f37769a5908d60df6d3aeb1be08799028", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3bf7d229084bb2dd80b9ea26cdec0e8f37769a5908d60df6d3aeb1be08799028", kill_on_drop: false }` [INFO] [stdout] 3bf7d229084bb2dd80b9ea26cdec0e8f37769a5908d60df6d3aeb1be08799028