[INFO] fetching crate lookupvec 0.1.3... [INFO] checking lookupvec-0.1.3 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate lookupvec 0.1.3 into /workspace/builds/worker-5-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-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate lookupvec 0.1.3 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded delegate v0.13.2 [INFO] [stderr] Downloaded lookupvec_derive v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] afd75ea38a56e266cdbac9010d56543a94d4d7c9e759b95985ab10a209c10324 [INFO] running `Command { std: "docker" "start" "-a" "afd75ea38a56e266cdbac9010d56543a94d4d7c9e759b95985ab10a209c10324", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "afd75ea38a56e266cdbac9010d56543a94d4d7c9e759b95985ab10a209c10324", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afd75ea38a56e266cdbac9010d56543a94d4d7c9e759b95985ab10a209c10324", kill_on_drop: false }` [INFO] [stdout] afd75ea38a56e266cdbac9010d56543a94d4d7c9e759b95985ab10a209c10324 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] af4a97efbb86be1b97ed0e99f549589f2be81bfd18ec61f7cbde6980f7d8b9f6 [INFO] running `Command { std: "docker" "start" "-a" "af4a97efbb86be1b97ed0e99f549589f2be81bfd18ec61f7cbde6980f7d8b9f6", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling ref-cast v1.0.23 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Compiling serde_json v1.0.139 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking ryu v1.0.19 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Checking indexmap v2.7.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling ref-cast-impl v1.0.23 [INFO] [stderr] Compiling delegate v0.13.2 [INFO] [stderr] Checking 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::::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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:380:42 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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::::new(); [INFO] [stdout] | ^^^ function or associated item cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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::::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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:384:42 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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::::with_capacity(5); [INFO] [stdout] | ^^^^^^^^^^^^^ function or associated item cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [INFO] [stdout] | ^^^^^^ required by this bound in `LookupVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `len` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:394:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:396:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:406:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:407:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:408:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:421:27 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:425:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:428:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:439:38 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `iter` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:442:28 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:456:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:460:14 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:473:48 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 = vec.drain(1..3).collect(); [INFO] [stdout] | ^^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 = 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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [INFO] [stdout] | ^^^^^^ required by this bound in `LookupVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [INFO] [stdout] | ^^^^^^ required by this bound in `LookupVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `first` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:487:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `last` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:488:24 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [INFO] [stdout] | ------------------------------------------------ method `last` not found for this struct because it doesn't satisfy `vec::LookupVec: 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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `vec::LookupVec: Iterator` [INFO] [stdout] which is required by `&mut vec::LookupVec: Iterator` [INFO] [stdout] note: the traits `Deref` and `Iterator` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/iter/traits/iterator.rs:39:1 [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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` [INFO] [stdout] note: required for `TestItem` to implement `Lookup` [INFO] [stdout] --> src/core.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ----------------- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `vec::LookupVec` to implement `From<[TestItem; 3]>` [INFO] [stdout] --> src/vec.rs:262:33 [INFO] [stdout] | [INFO] [stdout] 262 | impl From<[T; N]> for LookupVec { [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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [INFO] [stdout] | ^^^^^^ required by this bound in `LookupVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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 { [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` [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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:559:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `keys` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:374:29 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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![$($key),+]); [INFO] [stdout] | ^^^^ method cannot be called on `vec::LookupVec` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:571:40 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [INFO] [stdout] | ------------------------------------------------ method `clone` not found for this struct because it doesn't satisfy `vec::LookupVec: Clone` [INFO] [stdout] ... [INFO] [stdout] 357 | struct TestItem { [INFO] [stdout] | --------------- doesn't satisfy `::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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] note: the following trait bounds were not satisfied: [INFO] [stdout] `::Target = _` [INFO] [stdout] `TestItem: Deref` [INFO] [stdout] --> src/core.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:574:43 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [INFO] [stdout] | ------------------------------------------------ method `clone` not found for this struct because it doesn't satisfy `vec::LookupVec: Clone` [INFO] [stdout] ... [INFO] [stdout] 357 | struct TestItem { [INFO] [stdout] | --------------- doesn't satisfy `::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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] note: the following trait bounds were not satisfied: [INFO] [stdout] `::Target = _` [INFO] [stdout] `TestItem: Deref` [INFO] [stdout] --> src/core.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:577:49 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [INFO] [stdout] | ^^^^^^ required by this bound in `LookupVec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `push` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:592:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `capacity` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:593:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:595:13 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/deref.rs:140:1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `capacity` exists for struct `vec::LookupVec`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [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 { [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`, 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` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: src/vec.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ----------------- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `vec::LookupVec` to implement `Index` [INFO] [stdout] --> src/vec.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | impl Index for LookupVec { [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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ----------------- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `vec::LookupVec` to implement `Index` [INFO] [stdout] --> src/vec.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | impl Index for LookupVec { [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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ----------------- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `vec::LookupVec` to implement `Index` [INFO] [stdout] --> src/vec.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | impl Index for LookupVec { [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::>::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 Lookup for R [INFO] [stdout] | ^^^^^^ ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ----------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: 1 redundant requirement hidden [INFO] [stdout] = note: required for `Rc` 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 { [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/vec.rs:620:50 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LookupVec { [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::>::new(); [INFO] [stdout] | ^^^ function or associated item cannot be called on `vec::LookupVec>` 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 Lookup for R [INFO] [stdout] | ------ - [INFO] [stdout] 11 | where [INFO] [stdout] 12 | R: Deref, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here [INFO] [stdout] note: the trait `Deref` must be implemented [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/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" "af4a97efbb86be1b97ed0e99f549589f2be81bfd18ec61f7cbde6980f7d8b9f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af4a97efbb86be1b97ed0e99f549589f2be81bfd18ec61f7cbde6980f7d8b9f6", kill_on_drop: false }` [INFO] [stdout] af4a97efbb86be1b97ed0e99f549589f2be81bfd18ec61f7cbde6980f7d8b9f6