| error[E0308]: mismatched types | |
| --> $DIR/specialization-default-projection.rs:25:5 | |
| | | |
| LL | fn generic<T>() -> <T as Foo>::Assoc { | |
| | ----------------- expected `<T as Foo>::Assoc` because of return type | |
| ... | |
| LL | () | |
| | ^^ expected associated type, found `()` | |
| | | |
| = note: expected associated type `<T as Foo>::Assoc` | |
| found unit type `()` | |
| = help: consider constraining the associated type `<T as Foo>::Assoc` to `()` or calling a method that returns `<T as Foo>::Assoc` | |
| = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html | |
| = note: the associated type `<T as Foo>::Assoc` is defined as `()` in the implementation, but the where-bound `T` shadows this definition | |
| see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information | |
| error[E0308]: mismatched types | |
| --> $DIR/specialization-default-projection.rs:32:5 | |
| | | |
| LL | fn monomorphic() -> () { | |
| | -- expected `()` because of return type | |
| ... | |
| LL | generic::<()>() | |
| | ^^^^^^^^^^^^^^^- help: consider using a semicolon here: `;` | |
| | | | |
| | expected `()`, found associated type | |
| | | |
| = note: expected unit type `()` | |
| found associated type `<() as Foo>::Assoc` | |
| = help: consider constraining the associated type `<() as Foo>::Assoc` to `()` | |
| = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html | |
| = note: the associated type `<() as Foo>::Assoc` is defined as `()` in the implementation, but the where-bound `()` shadows this definition | |
| see issue #152409 <https://github.com/rust-lang/rust/issues/152409> for more information | |
| error: aborting due to 2 previous errors | |
| For more information about this error, try `rustc --explain E0308`. |