rust/tests/ui/type-alias-impl-trait/issue-77179.stderr

40 lines
1.4 KiB
Plaintext

error[E0308]: mismatched types
--> $DIR/issue-77179.rs:9:5
|
LL | type Pointer<T> = impl std::ops::Deref<Target = T>;
| -------------------------------- the expected opaque type
LL |
LL | fn test() -> Pointer<_> {
| ---------- expected `Pointer<_>` because of return type
LL |
LL | Box::new(1)
| ^^^^^^^^^^^ expected opaque type, found `Box<{integer}>`
|
= note: expected opaque type `Pointer<_>`
found struct `Box<{integer}>`
note: this item must have the opaque type in its signature in order to be able to register hidden types
--> $DIR/issue-77179.rs:7:4
|
LL | fn test() -> Pointer<_> {
| ^^^^
error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
--> $DIR/issue-77179.rs:7:22
|
LL | fn test() -> Pointer<_> {
| ^ not allowed in type signatures
error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
--> $DIR/issue-77179.rs:18:25
|
LL | fn bar() -> Pointer<_>;
| ^
| |
| not allowed in type signatures
| help: use type parameters instead: `T`
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0121, E0308.
For more information about an error, try `rustc --explain E0121`.