blob: de364ca6bb682702d838ff6514d4e2f771b70261 [file] [log] [blame]
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
class C<X> {
factory C() => new C.foo();
C.foo() {}
factory C.bar() = C;
}
class D<X> {
D();
factory D.foo() => new D();
factory D.bar() = D;
}
typedef G<X> = X Function(X);
typedef A<X extends G<C<X>>> = C<X>;
typedef B<X extends G<D<X>>> = D<X>;
test() {
A(); // Error.
A.foo(); // Error.
A.bar(); // Error.
B(); // Error.
B.foo(); // Error.
B.bar(); // Error.
}
main() {}