1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
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`.
|