[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] checking wiltaylor/prefab against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwiltaylor%2Fprefab" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-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-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wiltaylor/prefab on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tui-input v0.8.0
[INFO] [stderr]   Downloaded assert_fs v1.0.13
[INFO] [stderr]   Downloaded ratatui v0.23.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 496e0e62e47fbcf336f78ae4a1afaf38722a092addfb1ea813bae8fe151d6c35
[INFO] running `Command { std: "docker" "start" "-a" "496e0e62e47fbcf336f78ae4a1afaf38722a092addfb1ea813bae8fe151d6c35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "496e0e62e47fbcf336f78ae4a1afaf38722a092addfb1ea813bae8fe151d6c35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "496e0e62e47fbcf336f78ae4a1afaf38722a092addfb1ea813bae8fe151d6c35", kill_on_drop: false }`
[INFO] [stdout] 496e0e62e47fbcf336f78ae4a1afaf38722a092addfb1ea813bae8fe151d6c35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 73c7fab66885f2af73ca26506b98dafc434c3e65edcf60de4a46e82a4ece4310
[INFO] running `Command { std: "docker" "start" "-a" "73c7fab66885f2af73ca26506b98dafc434c3e65edcf60de4a46e82a4ece4310", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking anstyle v1.0.2
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking aho-corasick v1.0.5
[INFO] [stderr]     Checking bstr v1.6.2
[INFO] [stderr]    Compiling phf v0.11.2
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]    Compiling serde_json v1.0.105
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]    Compiling syn v2.0.31
[INFO] [stderr]     Checking gimli v0.28.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking hashbrown v0.14.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling eyre v0.6.8
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking anstream v0.5.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking regex-automata v0.3.8
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stderr]     Checking winnow v0.5.15
[INFO] [stderr]     Checking indexmap v2.0.0
[INFO] [stderr]     Checking time-core v0.1.1
[INFO] [stderr]     Checking deranged v0.3.8
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]    Compiling rustix v0.38.11
[INFO] [stderr]     Checking deunicode v0.4.4
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]     Checking num_threads v0.1.6
[INFO] [stderr]     Checking slug v0.1.4
[INFO] [stderr]     Checking regex v1.9.5
[INFO] [stderr]     Checking clap_builder v4.4.2
[INFO] [stderr]     Checking time v0.3.28
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]     Checking chrono v0.4.29
[INFO] [stderr]     Checking predicates-core v1.0.6
[INFO] [stderr]     Checking globset v0.4.13
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.5
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling indoc v2.0.3
[INFO] [stderr]     Checking ignore v0.4.20
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]     Checking tui-input v0.8.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking termtree v0.4.1
[INFO] [stderr]     Checking fastrand v2.0.0
[INFO] [stderr]     Checking predicates-tree v1.0.9
[INFO] [stderr]     Checking globwalk v0.8.1
[INFO] [stderr]     Checking clap v4.4.2
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling strum_macros v0.25.2
[INFO] [stderr]     Checking predicates v3.0.3
[INFO] [stderr]     Checking tempfile v3.8.0
[INFO] [stderr]    Compiling chrono-tz-build v0.2.0
[INFO] [stderr]     Checking assert_fs v1.0.13
[INFO] [stderr]    Compiling chrono-tz v0.8.3
[INFO] [stderr]    Compiling pest v2.7.3
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking tracing-error v0.2.0
[INFO] [stderr]     Checking color-spantrace v0.2.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking color-eyre v0.6.2
[INFO] [stderr]     Checking ratatui v0.23.0
[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]     Checking serde_spanned v0.6.3
[INFO] [stderr]     Checking toml_datetime v0.6.3
[INFO] [stderr]     Checking toml_edit v0.19.14
[INFO] [stderr]     Checking tera v1.19.1
[INFO] [stderr]     Checking toml v0.7.6
[INFO] [stderr]     Checking 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: 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)]` 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/tui/option_ui.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render_list_item(&self) -> Result<ListItem> {
[INFO] [stdout]    |                         ^^^^^            -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render_list_item(&self) -> Result<ListItem<'_>> {
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/tui/option_ui.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render_list_item(&self) -> Result<ListItem> {
[INFO] [stdout]    |                         ^^^^^            -------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render_list_item(&self) -> Result<ListItem<'_>> {
[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 35.17s
[INFO] running `Command { std: "docker" "inspect" "73c7fab66885f2af73ca26506b98dafc434c3e65edcf60de4a46e82a4ece4310", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73c7fab66885f2af73ca26506b98dafc434c3e65edcf60de4a46e82a4ece4310", kill_on_drop: false }`
[INFO] [stdout] 73c7fab66885f2af73ca26506b98dafc434c3e65edcf60de4a46e82a4ece4310
