rust/tests/ui/traits/pointee-tail-is-generic-err...

41 lines
1.7 KiB
Plaintext

error[E0271]: type mismatch resolving `<T as Pointee>::Metadata == ()`
--> $DIR/pointee-tail-is-generic-errors.rs:13:15
|
LL | is_thin::<T>();
| ^ expected `()`, found associated type
|
= note: expected unit type `()`
found associated type `<T as Pointee>::Metadata`
= help: consider constraining the associated type `<T as Pointee>::Metadata` to `()`
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
note: required by a bound in `is_thin`
--> $DIR/pointee-tail-is-generic-errors.rs:20:33
|
LL | fn is_thin<T: std::ptr::Pointee<Metadata = ()> + ?Sized>() {}
| ^^^^^^^^^^^^^ required by this bound in `is_thin`
error[E0271]: type mismatch resolving `<Opaque as Pointee>::Metadata == ()`
--> $DIR/pointee-tail-is-generic-errors.rs:16:15
|
LL | type Opaque = impl std::fmt::Debug + ?Sized;
| ----------------------------- the found opaque type
...
LL | is_thin::<Opaque>();
| ^^^^^^ expected `()`, found associated type
|
= note: expected unit type `()`
found associated type `<Opaque as Pointee>::Metadata`
note: required by a bound in `is_thin`
--> $DIR/pointee-tail-is-generic-errors.rs:20:33
|
LL | fn is_thin<T: std::ptr::Pointee<Metadata = ()> + ?Sized>() {}
| ^^^^^^^^^^^^^ required by this bound in `is_thin`
help: consider constraining the associated type `<Opaque as Pointee>::Metadata` to `()`
|
LL | type Opaque = impl std::fmt::Debug<Metadata = ()> + ?Sized;
| +++++++++++++++
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0271`.