[INFO] fetching crate wei-updater 0.1.1... [INFO] checking wei-updater-0.1.1 against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] extracting crate wei-updater 0.1.1 into /workspace/builds/worker-5-tc1/source [INFO] validating manifest of crates.io crate wei-updater 0.1.1 on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate wei-updater 0.1.1 [INFO] finished tweaking crates.io crate wei-updater 0.1.1 [INFO] tweaked toml for crates.io crate wei-updater 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate crates.io crate wei-updater 0.1.1 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded winrt-notification v0.5.1 [INFO] [stderr] Downloaded single-instance v0.3.3 [INFO] [stderr] Downloaded wei-log v0.2.4 [INFO] [stderr] Downloaded wei-env v0.2.10 [INFO] [stderr] Downloaded wei-run v0.1.10 [INFO] [stderr] Downloaded strum v0.22.0 [INFO] [stderr] Downloaded winres v0.1.12 [INFO] [stderr] Downloaded strum_macros v0.22.0 [INFO] [stderr] Downloaded wei-daemon v0.2.5 [INFO] [stderr] Downloaded openssl-sys v0.9.92 [INFO] [stderr] Downloaded base64 v0.21.3 [INFO] [stderr] Downloaded sysinfo v0.29.9 [INFO] [stderr] Downloaded rustix v0.38.9 [INFO] [stderr] Downloaded windows_i686_gnu v0.24.0 [INFO] [stderr] Downloaded windows_i686_msvc v0.24.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.24.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.24.0 [INFO] [stderr] Downloaded object v0.32.0 [INFO] [stderr] Downloaded chrono v0.4.28 [INFO] [stderr] Downloaded xml-rs v0.8.16 [INFO] [stderr] Downloaded windows v0.24.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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 76a20d90020fdee2b8ecbbb35da174d4a9488d9ca6757ef539243425e87ba2f1 [INFO] running `Command { std: "docker" "start" "-a" "76a20d90020fdee2b8ecbbb35da174d4a9488d9ca6757ef539243425e87ba2f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "76a20d90020fdee2b8ecbbb35da174d4a9488d9ca6757ef539243425e87ba2f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76a20d90020fdee2b8ecbbb35da174d4a9488d9ca6757ef539243425e87ba2f1", kill_on_drop: false }` [INFO] [stdout] 76a20d90020fdee2b8ecbbb35da174d4a9488d9ca6757ef539243425e87ba2f1 [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52e2ed70f57f685cbed77442c5f30fd45eb479b5b252991a9adbde4fc9106c96 [INFO] running `Command { std: "docker" "start" "-a" "52e2ed70f57f685cbed77442c5f30fd45eb479b5b252991a9adbde4fc9106c96", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking lock_api v0.4.10 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Compiling syn v2.0.29 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Checking hashbrown v0.14.0 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.9 [INFO] [stderr] Checking indexmap v2.0.0 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking parking_lot_core v0.9.8 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking socket2 v0.5.3 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Compiling thiserror v1.0.47 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Compiling openssl-sys v0.9.92 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde_json v1.0.105 [INFO] [stderr] Checking iana-time-zone v0.1.57 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking nix v0.23.2 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking widestring v0.4.3 [INFO] [stderr] Checking base64 v0.21.3 [INFO] [stderr] Checking cpufeatures v0.2.9 [INFO] [stderr] Checking xml-rs v0.8.16 [INFO] [stderr] Checking chrono v0.4.28 [INFO] [stderr] Checking windows v0.24.0 [INFO] [stderr] Checking ipnet v2.8.0 [INFO] [stderr] Checking sha2 v0.10.7 [INFO] [stderr] Checking wei-log v0.2.4 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.47 [INFO] [stderr] Checking sysinfo v0.29.9 [INFO] [stderr] Checking tokio v1.32.0 [INFO] [stderr] Compiling strum_macros v0.22.0 [INFO] [stderr] Checking single-instance v0.3.3 [INFO] [stderr] Checking strum v0.22.0 [INFO] [stderr] Checking winrt-notification v0.5.1 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.3.21 [INFO] [stderr] Checking serde_yaml v0.9.25 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking wei-env v0.2.10 [INFO] [stderr] Checking wei-run v0.1.10 [INFO] [stderr] Checking wei-daemon v0.2.5 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.20 [INFO] [stderr] Checking wei-updater v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:219:59 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:219:76 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:220:72 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:220:89 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:251:78 [INFO] [stdout] | [INFO] [stdout] 251 | let src = format!("../{}/target/release/{}{}", name, name, suffix.clone()); [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/main.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:252:84 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:258:83 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:258:100 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:259:94 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:259:111 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:260:59 [INFO] [stdout] | [INFO] [stdout] 260 | let from = format!("../wei-release/{}/qbittorrent", os.clone()); [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/main.rs:261:65 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:261:82 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:265:50 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:265:67 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:266:52 [INFO] [stdout] | [INFO] [stdout] 266 | let to = format!("../wei-release/{}/latest", os.clone()); [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/main.rs:219:59 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:219:76 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:220:72 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:220:89 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:251:78 [INFO] [stdout] | [INFO] [stdout] 251 | let src = format!("../{}/target/release/{}{}", name, name, suffix.clone()); [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/main.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:252:84 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:258:83 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:258:100 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:259:94 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:259:111 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:260:59 [INFO] [stdout] | [INFO] [stdout] 260 | let from = format!("../wei-release/{}/qbittorrent", os.clone()); [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/main.rs:261:65 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:261:82 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:265:50 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:265:67 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:266:52 [INFO] [stdout] | [INFO] [stdout] 266 | let to = format!("../wei-release/{}/latest", os.clone()); [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: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "52e2ed70f57f685cbed77442c5f30fd45eb479b5b252991a9adbde4fc9106c96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52e2ed70f57f685cbed77442c5f30fd45eb479b5b252991a9adbde4fc9106c96", kill_on_drop: false }` [INFO] [stdout] 52e2ed70f57f685cbed77442c5f30fd45eb479b5b252991a9adbde4fc9106c96 [INFO] checking wei-updater-0.1.1 against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] extracting crate wei-updater 0.1.1 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate wei-updater 0.1.1 on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate wei-updater 0.1.1 [INFO] finished tweaking crates.io crate wei-updater 0.1.1 [INFO] tweaked toml for crates.io crate wei-updater 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate crates.io crate wei-updater 0.1.1 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 657315cceb53b82a131d4d8564b3598df1b838f739f0aa35bbc81f91cf9d3717 [INFO] running `Command { std: "docker" "start" "-a" "657315cceb53b82a131d4d8564b3598df1b838f739f0aa35bbc81f91cf9d3717", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "657315cceb53b82a131d4d8564b3598df1b838f739f0aa35bbc81f91cf9d3717", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "657315cceb53b82a131d4d8564b3598df1b838f739f0aa35bbc81f91cf9d3717", kill_on_drop: false }` [INFO] [stdout] 657315cceb53b82a131d4d8564b3598df1b838f739f0aa35bbc81f91cf9d3717 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6779d041998c460bc6dc1a9b7442f62b24ed83b5fdb87c4f0a20eb3f5f195698 [INFO] running `Command { std: "docker" "start" "-a" "6779d041998c460bc6dc1a9b7442f62b24ed83b5fdb87c4f0a20eb3f5f195698", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Checking pin-project-lite v0.2.13 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Checking lock_api v0.4.10 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling futures-task v0.3.28 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling openssl v0.10.57 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Checking http v0.2.9 [INFO] [stderr] Checking tracing v0.1.37 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking hashbrown v0.14.0 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Compiling syn v2.0.29 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking indexmap v2.0.0 [INFO] [stderr] Checking unsafe-libyaml v0.2.9 [INFO] [stderr] Compiling thiserror v1.0.47 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking parking_lot_core v0.9.8 [INFO] [stderr] Checking socket2 v0.5.3 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Compiling openssl-sys v0.9.92 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking iana-time-zone v0.1.57 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Compiling serde_json v1.0.105 [INFO] [stderr] Checking nix v0.23.2 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking widestring v0.4.3 [INFO] [stderr] Checking xml-rs v0.8.16 [INFO] [stderr] Checking base64 v0.21.3 [INFO] [stderr] Checking cpufeatures v0.2.9 [INFO] [stderr] Checking ipnet v2.8.0 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking windows v0.24.0 [INFO] [stderr] Checking sha2 v0.10.7 [INFO] [stderr] Checking chrono v0.4.28 [INFO] [stderr] Checking wei-log v0.2.4 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.47 [INFO] [stderr] Compiling strum_macros v0.22.0 [INFO] [stderr] Checking sysinfo v0.29.9 [INFO] [stderr] Checking tokio v1.32.0 [INFO] [stderr] Checking strum v0.22.0 [INFO] [stderr] Checking single-instance v0.3.3 [INFO] [stderr] Checking winrt-notification v0.5.1 [INFO] [stderr] Checking tokio-util v0.7.8 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking h2 v0.3.21 [INFO] [stderr] Checking serde_yaml v0.9.25 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking wei-env v0.2.10 [INFO] [stderr] Checking wei-run v0.1.10 [INFO] [stderr] Checking wei-daemon v0.2.5 [INFO] [stderr] Checking hyper v0.14.27 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.20 [INFO] [stderr] Checking wei-updater v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:219:59 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:219:59 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:219:76 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:220:72 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:220:89 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:251:78 [INFO] [stdout] | [INFO] [stdout] 251 | let src = format!("../{}/target/release/{}{}", name, name, suffix.clone()); [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/main.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:252:84 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:258:83 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:258:100 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:259:94 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:259:111 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:260:59 [INFO] [stdout] | [INFO] [stdout] 260 | let from = format!("../wei-release/{}/qbittorrent", os.clone()); [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/main.rs:261:65 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:261:82 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:265:50 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:265:67 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:266:52 [INFO] [stdout] | [INFO] [stdout] 266 | let to = format!("../wei-release/{}/latest", os.clone()); [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/main.rs:219:76 [INFO] [stdout] | [INFO] [stdout] 219 | let dest_dir = format!("../wei-release/{}/{}/data", os.clone(), version.clone()); [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/main.rs:220:72 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:220:89 [INFO] [stdout] | [INFO] [stdout] 220 | let dest_file = format!("../wei-release/{}/{}/data/version.dat", os.clone(), version.clone()); [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/main.rs:251:78 [INFO] [stdout] | [INFO] [stdout] 251 | let src = format!("../{}/target/release/{}{}", name, name, suffix.clone()); [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/main.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:252:84 [INFO] [stdout] | [INFO] [stdout] 252 | let dest_file = format!("../wei-release/{}/{}{}{}", os.clone(), version.clone(), v.as_str().unwrap(), suffix); [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/main.rs:258:83 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:258:100 [INFO] [stdout] | [INFO] [stdout] 258 | let checksum_dir = std::path::PathBuf::from(format!("../wei-release/{}/{}", os.clone(), version.clone())); [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/main.rs:259:94 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:259:111 [INFO] [stdout] | [INFO] [stdout] 259 | let mut checksum_file = File::create(format!("../wei-release/{}/{}/data/checksum.dat", os.clone(), version.clone()))?; [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/main.rs:260:59 [INFO] [stdout] | [INFO] [stdout] 260 | let from = format!("../wei-release/{}/qbittorrent", os.clone()); [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/main.rs:261:65 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:261:82 [INFO] [stdout] | [INFO] [stdout] 261 | let to = format!("../wei-release/{}/{}/data/qbittorrent", os.clone(), version.clone()); [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/main.rs:265:50 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:265:67 [INFO] [stdout] | [INFO] [stdout] 265 | let from = format!("../wei-release/{}/{}", os.clone(), version.clone()); [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/main.rs:266:52 [INFO] [stdout] | [INFO] [stdout] 266 | let to = format!("../wei-release/{}/latest", os.clone()); [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: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "6779d041998c460bc6dc1a9b7442f62b24ed83b5fdb87c4f0a20eb3f5f195698", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6779d041998c460bc6dc1a9b7442f62b24ed83b5fdb87c4f0a20eb3f5f195698", kill_on_drop: false }` [INFO] [stdout] 6779d041998c460bc6dc1a9b7442f62b24ed83b5fdb87c4f0a20eb3f5f195698