//@ check-pass struct Const; trait Foo {} impl Foo for Const {} fn foo_impl(_: impl Foo<3>) {} fn foo_explicit>(_: T) {} fn foo_where(_: T) where T: Foo<3>, { } fn main() { foo_impl(Const); foo_impl(Const::<3>); foo_explicit(Const); foo_explicit(Const::<3>); foo_where(Const); foo_where(Const::<3>); }