[INFO] cloning repository https://github.com/directwire/Daub
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/directwire/Daub" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdirectwire%2FDaub", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdirectwire%2FDaub'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e44b8423f09ade80ebd719017ba913d1426b25f6
[INFO] checking directwire/Daub against 28b6e691688c15cef4c60d9044274e7b84397870 for pr-162986
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdirectwire%2FDaub" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/directwire/Daub
[INFO] finished tweaking git repo https://github.com/directwire/Daub
[INFO] tweaked toml for git repo https://github.com/directwire/Daub written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/directwire/Daub on toolchain 28b6e691688c15cef4c60d9044274e7b84397870
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/directwire/Daub 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" "+28b6e691688c15cef4c60d9044274e7b84397870" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lzf-rust v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de
[INFO] running `Command { std: "docker" "start" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]     Checking zlib-rs v0.6.7
[INFO] [stderr]     Checking miniz_oxide v0.9.1
[INFO] [stderr]     Checking bumpalo v3.20.3
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking typed-path v0.12.3
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking lzf-rust v0.1.0
[INFO] [stderr]     Checking zopfli v0.8.3
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking zip v8.6.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking daub v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:708:49
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` 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] 708 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 708 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:968:48
[INFO] [stdout]     |
[INFO] [stdout] 968 |         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 968 -         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout] 968 +         let spr = cache.sprite(0, &p, 8.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:989:49
[INFO] [stdout]     |
[INFO] [stdout] 989 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 989 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 989 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1013:49
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]      |                                                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1013 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 1013 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1031:52
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0).clone();
[INFO] [stdout]      |                                                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1031 -         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0).clone();
[INFO] [stdout] 1031 +         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1040:49
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         let spr = cache.sprite(0, &p, 32.0, 1.0).clone();
[INFO] [stdout]      |                                                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1040 -         let spr = cache.sprite(0, &p, 32.0, 1.0).clone();
[INFO] [stdout] 1040 +         let spr = cache.sprite(0, &p, 32.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1053:48
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout]      |                                                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1053 -         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout] 1053 +         let spr = cache.sprite(0, &p, 8.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1061:51
[INFO] [stdout]      |
[INFO] [stdout] 1061 |         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0).clone();
[INFO] [stdout]      |                                                   ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0).clone();
[INFO] [stdout] 1061 +         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:708:49
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` 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] 708 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 708 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:968:48
[INFO] [stdout]     |
[INFO] [stdout] 968 |         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 968 -         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout] 968 +         let spr = cache.sprite(0, &p, 8.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/tip.rs:989:49
[INFO] [stdout]     |
[INFO] [stdout] 989 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]     |                                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 989 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 989 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout] 384 + #[derive(Clone)]
[INFO] [stdout] 385 | pub struct Sprite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1013:49
[INFO] [stdout]      |
[INFO] [stdout] 1013 |         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout]      |                                                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1013 -         let spr = cache.sprite(0, &p, 64.0, 1.0).clone();
[INFO] [stdout] 1013 +         let spr = cache.sprite(0, &p, 64.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1031:52
[INFO] [stdout]      |
[INFO] [stdout] 1031 |         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0).clone();
[INFO] [stdout]      |                                                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1031 -         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0).clone();
[INFO] [stdout] 1031 +         let spr2 = cache2.sprite(0, &p2, 64.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1040:49
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         let spr = cache.sprite(0, &p, 32.0, 1.0).clone();
[INFO] [stdout]      |                                                 ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1040 -         let spr = cache.sprite(0, &p, 32.0, 1.0).clone();
[INFO] [stdout] 1040 +         let spr = cache.sprite(0, &p, 32.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1053:48
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout]      |                                                ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1053 -         let spr = cache.sprite(0, &p, 8.0, 1.0).clone();
[INFO] [stdout] 1053 +         let spr = cache.sprite(0, &p, 8.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/tip.rs:1061:51
[INFO] [stdout]      |
[INFO] [stdout] 1061 |         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0).clone();
[INFO] [stdout]      |                                                   ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `tip::Sprite` does not implement `Clone`, so calling `clone` on `&tip::Sprite` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0).clone();
[INFO] [stdout] 1061 +         let spr2 = cache2.sprite(0, &p2, 8.0, 1.0);
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `tip::Sprite`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout]  384 + #[derive(Clone)]
[INFO] [stdout]  385 | pub struct Sprite {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.49s
[INFO] running `Command { std: "docker" "inspect" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de", kill_on_drop: false }`
[INFO] [stdout] df10e5637765a2602f06b8d9b625b3fefff8b11212ac9df33ce11f7dfb21c5de
