[INFO] fetching crate funlib 0.1.8... [INFO] testing funlib-0.1.8 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate funlib 0.1.8 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate funlib 0.1.8 [INFO] finished tweaking crates.io crate funlib 0.1.8 [INFO] tweaked toml for crates.io crate funlib 0.1.8 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate funlib 0.1.8 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 1 package to latest compatible version [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded funlib-macros v0.1.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c4dbb35e5598af34d90365d59de27f7bc99abb0ae63b05aeb6a9e441e511d033 [INFO] running `Command { std: "docker" "start" "-a" "c4dbb35e5598af34d90365d59de27f7bc99abb0ae63b05aeb6a9e441e511d033", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c4dbb35e5598af34d90365d59de27f7bc99abb0ae63b05aeb6a9e441e511d033", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4dbb35e5598af34d90365d59de27f7bc99abb0ae63b05aeb6a9e441e511d033", kill_on_drop: false }` [INFO] [stdout] c4dbb35e5598af34d90365d59de27f7bc99abb0ae63b05aeb6a9e441e511d033 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 66178b292fb68362601f863ba04be8188ca40581b7d04a1b75878a14e9e697c7 [INFO] running `Command { std: "docker" "start" "-a" "66178b292fb68362601f863ba04be8188ca40581b7d04a1b75878a14e9e697c7", kill_on_drop: false }` [INFO] [stderr] Compiling funlib-macros v0.1.8 [INFO] [stderr] Compiling funlib v0.1.8 (/opt/rustwide/workdir) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [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 consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] running `Command { std: "docker" "inspect" "66178b292fb68362601f863ba04be8188ca40581b7d04a1b75878a14e9e697c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66178b292fb68362601f863ba04be8188ca40581b7d04a1b75878a14e9e697c7", kill_on_drop: false }` [INFO] [stdout] 66178b292fb68362601f863ba04be8188ca40581b7d04a1b75878a14e9e697c7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c0ef701376ea1a34e10a9883a0817106fbf0cd6f0b8c1f4695eb3b0d41a78ebc [INFO] running `Command { std: "docker" "start" "-a" "c0ef701376ea1a34e10a9883a0817106fbf0cd6f0b8c1f4695eb3b0d41a78ebc", kill_on_drop: false }` [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [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 consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling funlib v0.1.8 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/functor/mod.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | laws!(Box, Box::new(5i32), |x| x + 2, |x| x * 5); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_allocation)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/applicative/mod.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | assert_eq!(Box::new(4), Box::new(2).ap(Box::new(f))); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/applicative/mod.rs:73:29 [INFO] [stdout] | [INFO] [stdout] 73 | assert_eq!(Box::new(4), Box::new(2).ap(Box::new(&double))); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/semigroup/mod.rs:86:31 [INFO] [stdout] | [INFO] [stdout] 86 | assert_eq!(Box::new(res), Box::new(v1).mappend(&Box::new(v2))); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/semigroup/mod.rs:94:31 [INFO] [stdout] | [INFO] [stdout] 94 | assert_ne!(Box::new(res), Box::new(v1).mappend(&Box::new(v2))); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/monoid/mod.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | laws2!(Box, i64, Box::new(5i64), Box::new(6i64), Box::new(10i64)); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary allocation, use `&` instead [INFO] [stdout] --> src/monoid/mod.rs:78:38 [INFO] [stdout] | [INFO] [stdout] 78 | laws2!(Box, i64, Box::new(5i64), Box::new(6i64), Box::new(10i64)); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [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 consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 33 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/foldable/mod.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 55 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 178 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stdout] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'r` [INFO] [stdout] | [INFO] [stdout] 242 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.81s [INFO] running `Command { std: "docker" "inspect" "c0ef701376ea1a34e10a9883a0817106fbf0cd6f0b8c1f4695eb3b0d41a78ebc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0ef701376ea1a34e10a9883a0817106fbf0cd6f0b8c1f4695eb3b0d41a78ebc", kill_on_drop: false }` [INFO] [stdout] c0ef701376ea1a34e10a9883a0817106fbf0cd6f0b8c1f4695eb3b0d41a78ebc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] d2d8e3ceae33aa4e67cdad3fd901c5e7661758229ee88b978f571777b530fefe [INFO] running `Command { std: "docker" "start" "-a" "d2d8e3ceae33aa4e67cdad3fd901c5e7661758229ee88b978f571777b530fefe", kill_on_drop: false }` [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/foldable/mod.rs:33:15 [INFO] [stderr] | [INFO] [stderr] 33 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stderr] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to consistently use `'r` [INFO] [stderr] | [INFO] [stderr] 33 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/foldable/mod.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool { [INFO] [stderr] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'r` [INFO] [stderr] | [INFO] [stderr] 55 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool { [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stderr] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'r` [INFO] [stderr] | [INFO] [stderr] 178 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:242:17 [INFO] [stderr] | [INFO] [stderr] 242 | fn find(&'r self, f: F) -> Option<&A> where F: Fn(&A) -> bool; [INFO] [stderr] | ^^ -- the lifetime gets resolved as `'r` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to consistently use `'r` [INFO] [stderr] | [INFO] [stderr] 242 | fn find(&'r self, f: F) -> Option<&'r A> where F: Fn(&A) -> bool; [INFO] [stderr] | ++ [INFO] [stderr] [INFO] [stderr] warning: `funlib` (lib) generated 4 warnings (run `cargo fix --lib -p funlib` to apply 4 suggestions) [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/functor/mod.rs:61:16 [INFO] [stderr] | [INFO] [stderr] 61 | laws!(Box, Box::new(5i32), |x| x + 2, |x| x * 5); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_allocation)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/applicative/mod.rs:72:29 [INFO] [stderr] | [INFO] [stderr] 72 | assert_eq!(Box::new(4), Box::new(2).ap(Box::new(f))); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/applicative/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(Box::new(4), Box::new(2).ap(Box::new(&double))); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/semigroup/mod.rs:86:31 [INFO] [stderr] | [INFO] [stderr] 86 | assert_eq!(Box::new(res), Box::new(v1).mappend(&Box::new(v2))); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/semigroup/mod.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | assert_ne!(Box::new(res), Box::new(v1).mappend(&Box::new(v2))); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/monoid/mod.rs:78:22 [INFO] [stderr] | [INFO] [stderr] 78 | laws2!(Box, i64, Box::new(5i64), Box::new(6i64), Box::new(10i64)); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary allocation, use `&` instead [INFO] [stderr] --> src/monoid/mod.rs:78:38 [INFO] [stderr] | [INFO] [stderr] 78 | laws2!(Box, i64, Box::new(5i64), Box::new(6i64), Box::new(10i64)); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `funlib` (lib test) generated 11 warnings (4 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/funlib-124c9971fefe2150) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test applicative::test::box_ ... ok [INFO] [stdout] test applicative::test::option ... ok [INFO] [stdout] test applicative::test::vec ... ok [INFO] [stdout] test applicative::test::rc ... ok [INFO] [stdout] test foldable::test::option_filter_negative ... ok [INFO] [stdout] test foldable::test::option_filter_positive ... ok [INFO] [stdout] test foldable::test::vec_concat ... ok [INFO] [stdout] test foldable::test::vec_filter ... ok [INFO] [stdout] test foldable::test::vec_filter_then_fold_left ... ok [INFO] [stdout] test foldable::test::vec_filter_then_fold_right ... ok [INFO] [stdout] test functor::test::box_ ... ok [INFO] [stdout] test functor::test::laws::Rc ... ok [INFO] [stdout] test functor::test::option ... ok [INFO] [stdout] test functor::test::rc ... ok [INFO] [stdout] test functor::test::vec_ ... ok [INFO] [stdout] test monad::test::box_ ... ok [INFO] [stdout] test functor::test::laws::Box ... ok [INFO] [stdout] test functor::test::laws::Option ... ok [INFO] [stdout] test functor::test::laws::Vec ... ok [INFO] [stdout] test monad::test::option ... ok [INFO] [stdout] test monad::test::rc ... ok [INFO] [stdout] test monoid::test::_box_i8 ... ok [INFO] [stdout] test monoid::test::_box_str ... ok [INFO] [stdout] test monoid::test::i32 ... ok [INFO] [stdout] test monad::test::vec ... ok [INFO] [stdout] test monoid::test::option_i64 ... ok [INFO] [stdout] test monoid::test::u8 ... ok [INFO] [stdout] test semigroup::test::box_u64_not ... ok [INFO] [stdout] test semigroup::test::box_u8 ... ok [INFO] [stdout] test semigroup::test::i32 ... ok [INFO] [stdout] test monoid::test::laws::Option ... ok [INFO] [stdout] test semigroup::test::option_i32_a ... ok [INFO] [stdout] test semigroup::test::option_i32_b ... ok [INFO] [stdout] test monoid::test::laws::u64 ... ok [INFO] [stdout] test monoid::test::laws::i32 ... ok [INFO] [stdout] test monoid::test::laws::Box ... ok [INFO] [stdout] test semigroup::test::option_i32_none ... ok [INFO] [stdout] test semigroup::test::str_test ... ok [INFO] [stdout] test semigroup::test::option_i32_both ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d2d8e3ceae33aa4e67cdad3fd901c5e7661758229ee88b978f571777b530fefe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2d8e3ceae33aa4e67cdad3fd901c5e7661758229ee88b978f571777b530fefe", kill_on_drop: false }` [INFO] [stdout] d2d8e3ceae33aa4e67cdad3fd901c5e7661758229ee88b978f571777b530fefe