// 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() {}
