// Check that qualified paths with type parameters // fail during type checking and not during parsing struct S; trait Tr { type A; } impl Tr for S { type A = S; } impl S { fn f() {} } fn main() { match 10 { ::A::f:: => {} //~^ ERROR expected unit struct/variant or constant, found method `<::A>::f` 0 ..= ::A::f:: => {} //~ ERROR only char and numeric types are allowed in range } }