[INFO] fetching crate lookupvec 0.1.3...
[INFO] testing lookupvec-0.1.3 against 1.90.0 for beta-1.91-3
[INFO] extracting crate lookupvec 0.1.3 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate lookupvec 0.1.3
[INFO] finished tweaking crates.io crate lookupvec 0.1.3
[INFO] tweaked toml for crates.io crate lookupvec 0.1.3 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate lookupvec 0.1.3 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate lookupvec 0.1.3 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ref-cast v1.0.23
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.23
[INFO] [stderr]   Downloaded delegate v0.13.2
[INFO] [stderr]   Downloaded lookupvec_derive v0.1.0
[INFO] [stderr]   Downloaded serde_json v1.0.139
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 982d91142f1952cc8b4deaaf3afbb853ca6c703dc49071182b212f1adcd6622e
[INFO] running `Command { std: "docker" "start" "-a" "982d91142f1952cc8b4deaaf3afbb853ca6c703dc49071182b212f1adcd6622e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "982d91142f1952cc8b4deaaf3afbb853ca6c703dc49071182b212f1adcd6622e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "982d91142f1952cc8b4deaaf3afbb853ca6c703dc49071182b212f1adcd6622e", kill_on_drop: false }`
[INFO] [stdout] 982d91142f1952cc8b4deaaf3afbb853ca6c703dc49071182b212f1adcd6622e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f848f81bbb512715c65937d42303ef1b98e1a6f0357be140c1ad904a1819d3cc
[INFO] running `Command { std: "docker" "start" "-a" "f848f81bbb512715c65937d42303ef1b98e1a6f0357be140c1ad904a1819d3cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling ref-cast v1.0.23
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling ref-cast-impl v1.0.23
[INFO] [stderr]    Compiling delegate v0.13.2
[INFO] [stderr]    Compiling lookupvec v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.62s
[INFO] running `Command { std: "docker" "inspect" "f848f81bbb512715c65937d42303ef1b98e1a6f0357be140c1ad904a1819d3cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f848f81bbb512715c65937d42303ef1b98e1a6f0357be140c1ad904a1819d3cc", kill_on_drop: false }`
[INFO] [stdout] f848f81bbb512715c65937d42303ef1b98e1a6f0357be140c1ad904a1819d3cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59e489afd8e0618179432afd1786646ac652de2ab37be73618b175cd2616b0ff
[INFO] running `Command { std: "docker" "start" "-a" "59e489afd8e0618179432afd1786646ac652de2ab37be73618b175cd2616b0ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling lookupvec v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `lookupvec_derive`
[INFO] [stdout]    --> src/vec.rs:353:9
[INFO] [stdout]     |
[INFO] [stdout] 353 |     use lookupvec_derive::Lookup;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `lookupvec_derive`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `lookupvec_derive`, use `cargo add lookupvec_derive` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `lookup_key` in this scope
[INFO] [stdout]    --> src/vec.rs:358:11
[INFO] [stdout]     |
[INFO] [stdout] 358 |         #[lookup_key]
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `lookup_key` in this scope
[INFO] [stdout]    --> src/vec.rs:368:11
[INFO] [stdout]     |
[INFO] [stdout] 368 |         #[lookup_key]
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:380:19
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let vec = LookupVec::<TestItem>::new();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:380:42
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 380 |         let vec = LookupVec::<TestItem>::new();
[INFO] [stdout]     |                                          ^^^ function or associated item cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:384:19
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let vec = LookupVec::<TestItem>::with_capacity(5);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `with_capacity` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:384:42
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `with_capacity` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 384 |         let vec = LookupVec::<TestItem>::with_capacity(5);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ function or associated item cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:390:23
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let mut vec = LookupVec::new();
[INFO] [stdout]     |                       ^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 392 |         vec.push(item2());
[INFO] [stdout]     |             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:394:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `len` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 394 |         assert_eq!(vec.len(), 2);
[INFO] [stdout]     |                        ^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `len`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ExactSizeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `get` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 395 |         assert_eq!(vec.get("item1").unwrap().id, "item1");
[INFO] [stdout]     |                        ^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `get`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `SliceIndex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get_index` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:396:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `get_index` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 396 |         assert_eq!(vec.get_index(1).unwrap().id, "item2");
[INFO] [stdout]     |                        ^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItemIntKey: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItemIntKey`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:401:19
[INFO] [stdout]     |
[INFO] [stdout] 401 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 402 | |             TestItemIntKey { id: 10 },
[INFO] [stdout] 403 | |             TestItemIntKey { id: 20 },
[INFO] [stdout] 404 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItemIntKey` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItemIntKey>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItemIntKey>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 367 |       struct TestItemIntKey {
[INFO] [stdout]     |       --------------------- doesn't satisfy `TestItemIntKey: Deref` or `TestItemIntKey: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 401 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 402 | |             TestItemIntKey { id: 10 },
[INFO] [stdout] 403 | |             TestItemIntKey { id: 20 },
[INFO] [stdout] 404 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItemIntKey: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for struct `vec::LookupVec<TestItemIntKey>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:406:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `len` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 367 |     struct TestItemIntKey {
[INFO] [stdout]     |     --------------------- doesn't satisfy `TestItemIntKey: Deref` or `TestItemIntKey: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 406 |         assert_eq!(vec.len(), 2);
[INFO] [stdout]     |                        ^^^ method cannot be called on `vec::LookupVec<TestItemIntKey>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItemIntKey: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `len`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ExactSizeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `vec::LookupVec<TestItemIntKey>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:407:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `get` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 367 |     struct TestItemIntKey {
[INFO] [stdout]     |     --------------------- doesn't satisfy `TestItemIntKey: Deref` or `TestItemIntKey: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 407 |         assert_eq!(vec.get(&10).unwrap().id, 10);
[INFO] [stdout]     |                        ^^^ method cannot be called on `vec::LookupVec<TestItemIntKey>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItemIntKey: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `get`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `SliceIndex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get_index` exists for struct `vec::LookupVec<TestItemIntKey>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:408:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `get_index` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 367 |     struct TestItemIntKey {
[INFO] [stdout]     |     --------------------- doesn't satisfy `TestItemIntKey: Deref` or `TestItemIntKey: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 408 |         assert_eq!(vec.get_index(1).unwrap().id, 20);
[INFO] [stdout]     |                        ^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItemIntKey>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItemIntKey: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:413:23
[INFO] [stdout]     |
[INFO] [stdout] 413 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 414 | |             item1(),
[INFO] [stdout] 415 | |             item2(),
[INFO] [stdout] 416 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 413 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 414 | |             item1(),
[INFO] [stdout] 415 | |             item2(),
[INFO] [stdout] 416 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `insert` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 418 |         vec.insert(1, item3());
[INFO] [stdout]     |             ^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 419 |         assert_keys_eq!(vec, "item1", "item3", "item2");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shift_remove` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:421:27
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `shift_remove` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 421 |         let removed = vec.shift_remove("item2").unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 423 |         assert_keys_eq!(vec, "item1", "item3");
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shift_insert` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `shift_insert` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 425 |         vec.shift_insert(1, item3());
[INFO] [stdout]     |             ^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 426 |         assert_keys_eq!(vec, "item1", "item3");
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shift_insert` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `shift_insert` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 428 |         vec.shift_insert(1, item2());
[INFO] [stdout]     |             ^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 429 |         assert_keys_eq!(vec, "item1", "item2", "item3");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:434:19
[INFO] [stdout]     |
[INFO] [stdout] 434 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 435 | |             item1(),
[INFO] [stdout] 436 | |             item2(),
[INFO] [stdout] 437 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 434 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 435 | |             item1(),
[INFO] [stdout] 436 | |             item2(),
[INFO] [stdout] 437 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:439:38
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 439 |         let keys: Vec<&String> = vec.keys().collect();
[INFO] [stdout]     |                                      ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `iter` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:442:28
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `iter` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 442 |         let mut iter = vec.iter();
[INFO] [stdout]     |                            ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:450:24
[INFO] [stdout]     |
[INFO] [stdout] 450 |           let mut vec1 = lookupvec![
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 451 | |             item1(),
[INFO] [stdout] 452 | |             item2(),
[INFO] [stdout] 453 | |             item3(),
[INFO] [stdout] 454 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 450 |           let mut vec1 = lookupvec![
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 451 | |             item1(),
[INFO] [stdout] 452 | |             item2(),
[INFO] [stdout] 453 | |             item3(),
[INFO] [stdout] 454 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `split_off` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:456:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `split_off` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 456 |         let mut vec2 = vec1.split_off(1);
[INFO] [stdout]     |                             ^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 457 |         assert_keys_eq!(vec1, "item1");
[INFO] [stdout]     |         ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `append` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:460:14
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `append` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 460 |         vec1.append(&mut vec2);
[INFO] [stdout]     |              ^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 461 |         assert_keys_eq!(vec1, "item1", "item2", "item3");
[INFO] [stdout]     |         ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:467:23
[INFO] [stdout]     |
[INFO] [stdout] 467 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 468 | |             item1(),
[INFO] [stdout] 469 | |             item2(),
[INFO] [stdout] 470 | |             item3(),
[INFO] [stdout] 471 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 467 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 468 | |             item1(),
[INFO] [stdout] 469 | |             item2(),
[INFO] [stdout] 470 | |             item3(),
[INFO] [stdout] 471 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `drain` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:473:48
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `drain` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 473 |         let drained: LookupVec<TestItem> = vec.drain(1..3).collect();
[INFO] [stdout]     |                                                ^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:473:22
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let drained: LookupVec<TestItem> = vec.drain(1..3).collect();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 474 |         assert_keys_eq!(vec, "item1");
[INFO] [stdout]     |         ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:480:23
[INFO] [stdout]     |
[INFO] [stdout] 480 |         let mut vec = LookupVec::new();
[INFO] [stdout]     |                       ^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:485:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 485 |         vec.push(item2());
[INFO] [stdout]     |             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `first` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:487:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `first` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 487 |         assert_eq!(vec.first().unwrap().id, "item1");
[INFO] [stdout]     |                        ^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `last` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:488:24
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `last` not found for this struct because it doesn't satisfy `vec::LookupVec<TestItem>: Iterator`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 488 |         assert_eq!(vec.last().unwrap().id, "item2");
[INFO] [stdout]     |                        ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `vec::LookupVec<TestItem>: Iterator`
[INFO] [stdout]             which is required by `&mut vec::LookupVec<TestItem>: Iterator`
[INFO] [stdout] note: the traits `Deref` and `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/iter/traits/iterator.rs:39:1
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `last`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:493:23
[INFO] [stdout]     |
[INFO] [stdout] 493 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 494 | |             item1(),
[INFO] [stdout] 495 | |             item2(),
[INFO] [stdout] 496 | |             item3(),
[INFO] [stdout] 497 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 493 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 494 | |             item1(),
[INFO] [stdout] 495 | |             item2(),
[INFO] [stdout] 496 | |             item3(),
[INFO] [stdout] 497 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `move_index` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:499:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `move_index` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 499 |         vec.move_index(0, 2);
[INFO] [stdout]     |             ^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 500 |         assert_keys_eq!(vec, "item2", "item3", "item1");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `swap_indices` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `swap_indices` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 502 |         vec.swap_indices(0, 1);
[INFO] [stdout]     |             ^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 503 |         assert_keys_eq!(vec, "item3", "item2", "item1");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:513:19
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let vec = LookupVec::from(arr);
[INFO] [stdout]     |                   ^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `From<[T; N]>` is implemented for `vec::LookupVec<T>`
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `vec::LookupVec<TestItem>` to implement `From<[TestItem; 3]>`
[INFO] [stdout]    --> src/vec.rs:262:33
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl<T: Lookup, const N: usize> From<[T; N]> for LookupVec<T, RandomState> {
[INFO] [stdout]     |         ------                  ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:513:19
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let vec = LookupVec::from(arr);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 514 |         assert_keys_eq!(vec, "item1", "item2", "item3");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:519:23
[INFO] [stdout]     |
[INFO] [stdout] 519 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 520 | |             item1(),
[INFO] [stdout] 521 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `extend` found for struct `vec::LookupVec` in the current scope
[INFO] [stdout]    --> src/vec.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `extend` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 527 |         vec.extend(items);
[INFO] [stdout]     |             ^^^^^^ method not found in `vec::LookupVec<TestItem>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `extend`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Extend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 529 |         assert_keys_eq!(vec, "item1", "item2", "item3");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:547:23
[INFO] [stdout]     |
[INFO] [stdout] 547 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 548 | |             item3(),
[INFO] [stdout] 549 | |             item1(),
[INFO] [stdout] 550 | |             item2(),
[INFO] [stdout] 551 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 547 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 548 | |             item3(),
[INFO] [stdout] 549 | |             item1(),
[INFO] [stdout] 550 | |             item2(),
[INFO] [stdout] 551 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sort` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `sort` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref`
[INFO] [stdout] ...
[INFO] [stdout] 553 |         vec.sort();
[INFO] [stdout]     |             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 554 |         assert_keys_eq!(vec, "item1", "item2", "item3");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sort_by` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `sort_by` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref`
[INFO] [stdout] ...
[INFO] [stdout] 556 |         vec.sort_by(|a, b| b.id.cmp(&a.id));
[INFO] [stdout]     |             ^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 557 |         assert_keys_eq!(vec, "item3", "item2", "item1");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sort_unstable_by` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:559:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `sort_unstable_by` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref`
[INFO] [stdout] ...
[INFO] [stdout] 559 |         vec.sort_unstable_by(|a, b| a.id.cmp(&b.id));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `keys` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 374 |             assert_eq!($vec.keys().collect::<Vec<&String>>(), vec![$($key),+]);
[INFO] [stdout]     |                             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout] ...
[INFO] [stdout] 560 |         assert_keys_eq!(vec, "item1", "item2", "item3");
[INFO] [stdout]     |         ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `assert_keys_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:565:19
[INFO] [stdout]     |
[INFO] [stdout] 565 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 566 | |             item3(),
[INFO] [stdout] 567 | |             item1(),
[INFO] [stdout] 568 | |             item2(),
[INFO] [stdout] 569 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 565 |           let vec = lookupvec![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 566 | |             item3(),
[INFO] [stdout] 567 | |             item1(),
[INFO] [stdout] 568 | |             item2(),
[INFO] [stdout] 569 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:571:40
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `clone` not found for this struct because it doesn't satisfy `vec::LookupVec<TestItem>: Clone`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `<TestItem as Deref>::Target = _`, `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 571 |         let sorted: LookupVec<_> = vec.clone().sorted().collect();
[INFO] [stdout]     |                                        ^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `<TestItem as Deref>::Target = _`
[INFO] [stdout]       `TestItem: Deref`
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |     |
[INFO] [stdout]     |        |     unsatisfied trait bound introduced here
[INFO] [stdout]     |        unsatisfied trait bound introduced here
[INFO] [stdout] note: trait bound `TestItem: Lookup` was not satisfied
[INFO] [stdout]    --> src/vec.rs:20:17
[INFO] [stdout]     |
[INFO] [stdout]  20 | #[derive(Debug, Clone)]
[INFO] [stdout]     |                 ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: the traits `Deref` and `Lookup` must be implemented
[INFO] [stdout]    --> src/core.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub trait Lookup {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:574:43
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `clone` not found for this struct because it doesn't satisfy `vec::LookupVec<TestItem>: Clone`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `<TestItem as Deref>::Target = _`, `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 574 |         let sorted_by: LookupVec<_> = vec.clone().sorted_by(|a, b| b.id.cmp(&a.id)).collect();
[INFO] [stdout]     |                                           ^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `<TestItem as Deref>::Target = _`
[INFO] [stdout]       `TestItem: Deref`
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |     |
[INFO] [stdout]     |        |     unsatisfied trait bound introduced here
[INFO] [stdout]     |        unsatisfied trait bound introduced here
[INFO] [stdout] note: trait bound `TestItem: Lookup` was not satisfied
[INFO] [stdout]    --> src/vec.rs:20:17
[INFO] [stdout]     |
[INFO] [stdout]  20 | #[derive(Debug, Clone)]
[INFO] [stdout]     |                 ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: the traits `Deref` and `Lookup` must be implemented
[INFO] [stdout]    --> src/core.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub trait Lookup {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `sorted_unstable_by` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:577:49
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `sorted_unstable_by` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref`
[INFO] [stdout] ...
[INFO] [stdout] 577 |         let sorted_unstable: LookupVec<_> = vec.sorted_unstable_by(|a, b| b.id.cmp(&a.id)).collect();
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:583:23
[INFO] [stdout]     |
[INFO] [stdout] 583 |         let mut vec = LookupVec::with_capacity(10);
[INFO] [stdout]     |                       ^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 590 |         vec.push(item2());
[INFO] [stdout]     |             ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shrink_to` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:592:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `shrink_to` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 592 |         vec.shrink_to(5);
[INFO] [stdout]     |             ^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `capacity` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:593:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `capacity` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 593 |         assert!(vec.capacity() >= 5);
[INFO] [stdout]     |                     ^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `shrink_to_fit` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:595:13
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `shrink_to_fit` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 595 |         vec.shrink_to_fit();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `capacity` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:596:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ method `capacity` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 596 |         assert!(vec.capacity() >= 2);
[INFO] [stdout]     |                     ^^^^^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/macros.rs:10:27
[INFO] [stdout]     |
[INFO] [stdout]  10 |               let mut vec = $crate::LookupVec::with_capacity(CAP);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:601:23
[INFO] [stdout]     |
[INFO] [stdout] 601 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 602 | |             item1(),
[INFO] [stdout] 603 | |             item2(),
[INFO] [stdout] 604 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec<TestItem>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/macros.rs:12:21
[INFO] [stdout]     |
[INFO] [stdout]  12 |                   vec.push($item);
[INFO] [stdout]     |                       ^^^^ method cannot be called on `vec::LookupVec<TestItem>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/vec.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 |   pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |   ------------------------------------------------ method `push` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |       struct TestItem {
[INFO] [stdout]     |       --------------- doesn't satisfy `TestItem: Deref` or `TestItem: Lookup`
[INFO] [stdout] ...
[INFO] [stdout] 601 |           let mut vec = lookupvec![
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 602 | |             item1(),
[INFO] [stdout] 603 | |             item2(),
[INFO] [stdout] 604 | |         ];
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout]     = note: this error originates in the macro `$crate::lookupvec` which comes from the expansion of the macro `lookupvec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Lookup` is not satisfied
[INFO] [stdout]    --> src/vec.rs:607:21
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let item = &vec[1];
[INFO] [stdout]     |                     ^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `vec::LookupVec<TestItem>` to implement `Index<usize>`
[INFO] [stdout]    --> src/vec.rs:308:20
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl<T: Lookup, S> Index<usize> for LookupVec<T, S> {
[INFO] [stdout]     |         ------     ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Lookup` is not satisfied
[INFO] [stdout]    --> src/vec.rs:611:29
[INFO] [stdout]     |
[INFO] [stdout] 611 |         let item_mut = &mut vec[0];
[INFO] [stdout]     |                             ^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `vec::LookupVec<TestItem>` to implement `Index<usize>`
[INFO] [stdout]    --> src/vec.rs:308:20
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl<T: Lookup, S> Index<usize> for LookupVec<T, S> {
[INFO] [stdout]     |         ------     ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Lookup` is not satisfied
[INFO] [stdout]    --> src/vec.rs:615:20
[INFO] [stdout]     |
[INFO] [stdout] 615 |         assert_eq!(vec[0].id, "foo");
[INFO] [stdout]     |                    ^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required for `vec::LookupVec<TestItem>` to implement `Index<usize>`
[INFO] [stdout]    --> src/vec.rs:308:20
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl<T: Lookup, S> Index<usize> for LookupVec<T, S> {
[INFO] [stdout]     |         ------     ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TestItem: Deref` is not satisfied
[INFO] [stdout]    --> src/vec.rs:620:23
[INFO] [stdout]     |
[INFO] [stdout] 620 |         let mut vec = LookupVec::<Rc<TestItem>>::new();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deref` is not implemented for `TestItem`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TestItem` to implement `Lookup`
[INFO] [stdout]    --> src/core.rs:10:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ^^^^^^     ^
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Rc<TestItem>` to implement `Lookup`
[INFO] [stdout] note: required by a bound in `vec::LookupVec`
[INFO] [stdout]    --> src/vec.rs:21:25
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     |                         ^^^^^^ required by this bound in `LookupVec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the function or associated item `new` exists for struct `vec::LookupVec<Rc<TestItem>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/vec.rs:620:50
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct LookupVec<T: Lookup, S = RandomState> {
[INFO] [stdout]     | ------------------------------------------------ function or associated item `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 357 |     struct TestItem {
[INFO] [stdout]     |     --------------- doesn't satisfy `TestItem: Deref`
[INFO] [stdout] ...
[INFO] [stdout] 620 |         let mut vec = LookupVec::<Rc<TestItem>>::new();
[INFO] [stdout]     |                                                  ^^^ function or associated item cannot be called on `vec::LookupVec<Rc<TestItem>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `TestItem: Deref` was not satisfied
[INFO] [stdout]    --> src/core.rs:12:8
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl<T, R> Lookup for R
[INFO] [stdout]     |            ------     -
[INFO] [stdout]  11 | where
[INFO] [stdout]  12 |     R: Deref<Target = T>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] note: the trait `Deref` must be implemented
[INFO] [stdout]    --> /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/deref.rs:140:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lookupvec` (lib test) due to 84 previous errors
[INFO] running `Command { std: "docker" "inspect" "59e489afd8e0618179432afd1786646ac652de2ab37be73618b175cd2616b0ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59e489afd8e0618179432afd1786646ac652de2ab37be73618b175cd2616b0ff", kill_on_drop: false }`
[INFO] [stdout] 59e489afd8e0618179432afd1786646ac652de2ab37be73618b175cd2616b0ff
