blob: 827a05b34027068032ae87181f0e3208814fefa2 [file] [log] [blame]
class Class<T> {}
class ConcreteClass implements Class<ConcreteClass> {}
typedef F<X extends Class<X>> = X;
class G<X extends Class<X>> {}
F? field1a, field1b;
F<dynamic>? field2a, field2b;
F<Class>? field3a, field3b;
F<Class<dynamic>>? field4a, field4b;
F<ConcreteClass>? field5a, field5b;
F<Class<ConcreteClass>>? field6a, field6b;
F<Object>? field7a, field7b;
F<int>? field8a, field8b;
G? field1c, field1d;
G<dynamic>? field2c, field2d;
G<Class>? field3c, field3d;
G<Class<dynamic>>? field4c, field4d;
G<ConcreteClass>? field5c, field5d;
G<Class<ConcreteClass>>? field6c, field6d;
G<Object>? field7c, field8d;
G<int>? field8c, field7d;
class Class1 {
F? field1a, field1b;
F<dynamic>? field2a, field2b;
F<Class>? field3a, field3b;
F<Class<dynamic>>? field4a, field4b;
F<ConcreteClass>? field5a, field5b;
F<Class<ConcreteClass>>? field6a, field6b;
F<Object>? field7a, field7b;
F<int>? field8a, field8b;
G? field1c, field1d;
G<dynamic>? field2c, field2d;
G<Class>? field3c, field3d;
G<Class<dynamic>>? field4c, field4d;
G<ConcreteClass>? field5c, field5d;
G<Class<ConcreteClass>>? field6c, field6d;
G<Object>? field7c, field8d;
G<int>? field8c, field7d;
}
extension Extension1 on int {
static F? field1a, field1b;
static F<dynamic>? field2a, field2b;
static F<Class>? field3a, field3b;
static F<Class<dynamic>>? field4a, field4b;
static F<ConcreteClass>? field5a, field5b;
static F<Class<ConcreteClass>>? field6a, field6b;
static F<Object>? field7a, field7b;
static F<int>? field8a, field8b;
static G? field1c, field1d;
static G<dynamic>? field2c, field2d;
static G<Class>? field3c, field3d;
static G<Class<dynamic>>? field4c, field4d;
static G<ConcreteClass>? field5c, field5d;
static G<Class<ConcreteClass>>? field6c, field6d;
static G<Object>? field7c, field8d;
static G<int>? field8c, field7d;
}
main() {}