// Check that the user gets an error if they omit a binding from an // object type. pub trait Foo { type A; type B; fn boo(&self) -> ::A; } struct Bar; impl Foo for isize { type A = usize; type B = char; fn boo(&self) -> usize { 42 } } pub fn main() { let a = &42isize as &dyn Foo; let b = &42isize as &dyn Foo; //~^ ERROR the value of the associated type `B` (from trait `Foo`) must be specified let c = &42isize as &dyn Foo; //~^ ERROR the value of the associated type `A` (from trait `Foo`) must be specified let d = &42isize as &dyn Foo; //~^ ERROR the value of the associated types `A` (from trait `Foo`), `B` (from trait }