Closed
Description
pub trait Foo {
type A;
}
pub trait Bar: Foo {
fn foo<A, B=<Self as Foo>::A>(&self, a: A, b: B) { }
}
struct Baz;
impl Foo for Baz {
type A = u32;
}
impl Bar for Baz { }
fn main() {
let baz = Baz;
Bar::foo::<u32>(&baz, 0, 0); // This works
baz.foo::<u32>(0); // error: incorrect number of type parameters given for this method
}