// check-pass #![allow(dead_code)] // Tests that impls are allowed to have looser, more permissive bounds // than the traits require. trait A { fn b<C:Sync,D>(&self, x: C) -> C; } struct E { f: isize } impl A for E { fn b<F,G>(&self, _x: F) -> F { panic!() } } pub fn main() {}