[INFO] fetching crate two-sided-vec 0.1.11... [INFO] testing two-sided-vec-0.1.11 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate two-sided-vec 0.1.11 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate two-sided-vec 0.1.11 [INFO] finished tweaking crates.io crate two-sided-vec 0.1.11 [INFO] tweaked toml for crates.io crate two-sided-vec 0.1.11 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate two-sided-vec 0.1.11 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "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" "+562dee4820c458d823175268e41601d4c060588a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 8 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9178b68faf724b4a76623dea54e8e6a8bb50384f24ad4071830690c0f59bc58d [INFO] running `Command { std: "docker" "start" "-a" "9178b68faf724b4a76623dea54e8e6a8bb50384f24ad4071830690c0f59bc58d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9178b68faf724b4a76623dea54e8e6a8bb50384f24ad4071830690c0f59bc58d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9178b68faf724b4a76623dea54e8e6a8bb50384f24ad4071830690c0f59bc58d", kill_on_drop: false }` [INFO] [stdout] 9178b68faf724b4a76623dea54e8e6a8bb50384f24ad4071830690c0f59bc58d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b57d375474013f3c6db475228126495ec87007ba617ad076182a8e52733582f [INFO] running `Command { std: "docker" "start" "-a" "2b57d375474013f3c6db475228126495ec87007ba617ad076182a8e52733582f", kill_on_drop: false }` [INFO] [stderr] Compiling two-sided-vec v0.1.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `alloc_layout_extra` has been stable since 1.95.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | alloc_layout_extra, // We need to allocate memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:390:27 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:398:28 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:406:22 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:414:26 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:444:63 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:453:64 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] running `Command { std: "docker" "inspect" "2b57d375474013f3c6db475228126495ec87007ba617ad076182a8e52733582f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b57d375474013f3c6db475228126495ec87007ba617ad076182a8e52733582f", kill_on_drop: false }` [INFO] [stdout] 2b57d375474013f3c6db475228126495ec87007ba617ad076182a8e52733582f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] accb1d6b7d74a4c916ba088c328442d80dd18cf761484fdca5fe0da8865cd2eb [INFO] running `Command { std: "docker" "start" "-a" "accb1d6b7d74a4c916ba088c328442d80dd18cf761484fdca5fe0da8865cd2eb", kill_on_drop: false }` [INFO] [stderr] Compiling serde_test v1.0.177 [INFO] [stdout] warning: the feature `alloc_layout_extra` has been stable since 1.95.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | alloc_layout_extra, // We need to allocate memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:390:27 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:398:28 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:406:22 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:414:26 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:444:63 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:453:64 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling two-sided-vec v0.1.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around index expression [INFO] [stdout] --> tests/basic.rs:215:28 [INFO] [stdout] | [INFO] [stdout] 215 | assert_eq!(&target[(index as isize)], expected); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 215 - assert_eq!(&target[(index as isize)], expected); [INFO] [stdout] 215 + assert_eq!(&target[index as isize ], expected); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `alloc_layout_extra` has been stable since 1.95.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | alloc_layout_extra, // We need to allocate memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TwoSidedVec<{integer}>: serde::Serialize` is not satisfied [INFO] [stdout] --> tests/basic.rs:81:33 [INFO] [stdout] | [INFO] [stdout] 81 | ::serde_test::assert_tokens(&values, &[ [INFO] [stdout] | --------------------------- ^^^^^^^ the trait `serde_core::ser::Serialize` is not implemented for `TwoSidedVec<{integer}>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Serialize)]` to your `TwoSidedVec<{integer}>` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde_core::ser::Serialize`: [INFO] [stdout] &'a T [INFO] [stdout] &'a mut T [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] (T0, T1, T2, T3, T4) [INFO] [stdout] and 128 others [INFO] [stdout] note: required by a bound in `assert_tokens` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_test-1.0.177/src/assert.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token]) [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 34 | where [INFO] [stdout] 35 | T: Serialize + Deserialize<'de> + PartialEq + Debug, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `assert_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `TwoSidedVec<{integer}>: serde::Deserialize<'de>` is not satisfied [INFO] [stdout] --> tests/basic.rs:81:33 [INFO] [stdout] | [INFO] [stdout] 81 | ::serde_test::assert_tokens(&values, &[ [INFO] [stdout] | --------------------------- ^^^^^^^ the trait `serde_core::de::Deserialize<'_>` is not implemented for `TwoSidedVec<{integer}>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `TwoSidedVec<{integer}>` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde_core::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 140 others [INFO] [stdout] note: required by a bound in `assert_tokens` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_test-1.0.177/src/assert.rs:35:20 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token]) [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 34 | where [INFO] [stdout] 35 | T: Serialize + Deserialize<'de> + PartialEq + Debug, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ required by this bound in `assert_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 319 | pub fn iter_entire(&self) -> slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:390:27 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 390 | pub fn enumerate_back(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:398:28 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 398 | pub fn enumerate_front(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:406:22 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 406 | pub fn enumerate(&self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:414:26 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 414 | pub fn enumerate_mut(&mut self) -> SignedEnumerate> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:444:63 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 444 | pub fn drain_filter_back bool>(&mut self, pred: F) -> DrainFilterBack<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:453:64 [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 453 | pub fn drain_filter_front bool>(&mut self, pred: F) -> DrainFilterFront<'_, T, F> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `two-sided-vec` (test "basic") due to 2 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "accb1d6b7d74a4c916ba088c328442d80dd18cf761484fdca5fe0da8865cd2eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "accb1d6b7d74a4c916ba088c328442d80dd18cf761484fdca5fe0da8865cd2eb", kill_on_drop: false }` [INFO] [stdout] accb1d6b7d74a4c916ba088c328442d80dd18cf761484fdca5fe0da8865cd2eb