// Check that we disallow GAT param defaults, even with `invalid_type_param_default` allowed #![allow(invalid_type_param_default)] trait Trait { type Assoc; //~^ defaults for type parameters are only allowed } impl Trait for () { type Assoc = u64; //~^ defaults for type parameters are only allowed } impl Trait for u32 { type Assoc = T; //~^ defaults for type parameters are only allowed } trait Other {} impl Other for u32 {} fn foo() where T: Trait, T::Assoc: Other { } fn main() { // errors foo::<()>(); // works foo::(); }