[INFO] fetching crate memory_slice 0.1.0-preview3... [INFO] checking memory_slice-0.1.0-preview3 against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] extracting crate memory_slice 0.1.0-preview3 into /workspace/builds/worker-109/source [INFO] validating manifest of crates.io crate memory_slice 0.1.0-preview3 on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate memory_slice 0.1.0-preview3 [INFO] finished tweaking crates.io crate memory_slice 0.1.0-preview3 [INFO] tweaked toml for crates.io crate memory_slice 0.1.0-preview3 written to /workspace/builds/worker-109/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-109/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-109/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a8c90f60ffbaa7e8a7429b16499159b07691bdd42f9c1c74a134f00e91916661 [INFO] running `Command { std: "docker" "start" "-a" "a8c90f60ffbaa7e8a7429b16499159b07691bdd42f9c1c74a134f00e91916661", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a8c90f60ffbaa7e8a7429b16499159b07691bdd42f9c1c74a134f00e91916661", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8c90f60ffbaa7e8a7429b16499159b07691bdd42f9c1c74a134f00e91916661", kill_on_drop: false }` [INFO] [stdout] a8c90f60ffbaa7e8a7429b16499159b07691bdd42f9c1c74a134f00e91916661 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-109/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-109/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3ef02926b640dd1d965d462103722a4f22a90907fc601d3f22e2d98e93e9518b [INFO] running `Command { std: "docker" "start" "-a" "3ef02926b640dd1d965d462103722a4f22a90907fc601d3f22e2d98e93e9518b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.75 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Checking galvanic-assert v0.8.7 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling rstest v0.6.4 [INFO] [stderr] Compiling contracts v0.6.2 [INFO] [stderr] Checking memory_slice v0.1.0-preview3 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2018 edition to 2021 [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements [INFO] [stdout] --> src/lib.rs:223:32 [INFO] [stdout] | [INFO] [stdout] 223 | let (l,r) = self.inner.split_at(mid); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 217:5... [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime defined on the method body at 222:21... [INFO] [stdout] --> src/lib.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn split_at(&self, mid: usize) -> (&Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `(&Memory, &Memory)` [INFO] [stdout] found `(&Memory, &Memory)` [INFO] [stdout] = note: this error originates in the attribute macro `test_ensures` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements [INFO] [stdout] --> src/lib.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | let (pad, rest) = self.split_at(s0); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 315:5... [INFO] [stdout] --> src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:331:22 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn align_for(&self, layout: Layout) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | self.align_for(unsafe { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 338:5... [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime defined on the method body at 347:30... [INFO] [stdout] --> src/lib.rs:347:30 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn align_for_type(&self) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `(&Memory, &Memory, &Memory)` [INFO] [stdout] found `(&Memory, &Memory, &Memory)` [INFO] [stdout] = note: this error originates in the attribute macro `test_ensures` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements [INFO] [stdout] --> src/lib.rs:363:14 [INFO] [stdout] | [INFO] [stdout] 363 | self.align_for(Layout::for_value(v)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 353:5... [INFO] [stdout] --> src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len() src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len() src/lib.rs:362:37 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn align_for_val(&self, v: &T) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len() src/lib.rs:223:32 [INFO] [stdout] | [INFO] [stdout] 223 | let (l,r) = self.inner.split_at(mid); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 217:5... [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime defined on the method body at 222:21... [INFO] [stdout] --> src/lib.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn split_at(&self, mid: usize) -> (&Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | #[test_ensures(self.len() == ret.0.len() + ret.1.len())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `(&Memory, &Memory)` [INFO] [stdout] found `(&Memory, &Memory)` [INFO] [stdout] = note: this error originates in the attribute macro `test_ensures` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements [INFO] [stdout] --> src/lib.rs:333:32 [INFO] [stdout] | [INFO] [stdout] 333 | let (pad, rest) = self.split_at(s0); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 315:5... [INFO] [stdout] --> src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:331:22 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn align_for(&self, layout: Layout) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:315:5 [INFO] [stdout] | [INFO] [stdout] 315 | #[test_ensures(ret.0.len() src/lib.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | self.align_for(unsafe { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 338:5... [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: ...so that reference does not outlive borrowed content [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but, the lifetime must be valid for the anonymous lifetime defined on the method body at 347:30... [INFO] [stdout] --> src/lib.rs:347:30 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn align_for_type(&self) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | #[test_ensures(ret.1.len()())] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected `(&Memory, &Memory, &Memory)` [INFO] [stdout] found `(&Memory, &Memory, &Memory)` [INFO] [stdout] = note: this error originates in the attribute macro `test_ensures` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements [INFO] [stdout] --> src/lib.rs:363:14 [INFO] [stdout] | [INFO] [stdout] 363 | self.align_for(Layout::for_value(v)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: first, the lifetime cannot outlive the anonymous lifetime #1 defined on the body at 353:5... [INFO] [stdout] --> src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len() src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len() src/lib.rs:362:37 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn align_for_val(&self, v: &T) -> (&Self, &Self, &Self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: ...so that the expression is assignable [INFO] [stdout] --> src/lib.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 353 | #[test_ensures(ret.1.len()