25 lines
347 B
Rust
25 lines
347 B
Rust
|
struct A<T>(T);
|
||
|
struct B;
|
||
|
|
||
|
trait I<T> {}
|
||
|
impl I<i32> for B {}
|
||
|
impl I<u32> for B {}
|
||
|
|
||
|
trait V<U> {
|
||
|
fn method(self) -> U;
|
||
|
}
|
||
|
|
||
|
impl<T, U> V<U> for A<T>
|
||
|
where
|
||
|
T: I<U>,
|
||
|
{
|
||
|
fn method(self) -> U { unimplemented!() }
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
let a = A(B);
|
||
|
a.method();
|
||
|
//~^ ERROR type annotations needed
|
||
|
//~| ERROR type annotations needed
|
||
|
}
|