blob: 75a232bfca4c764e17017f17c2347fc9991a7254 [file] [log] [blame]
* Copyright (c) 2019, 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.
* @assertion A class declaration, type alias, or function [G] may be generic,
* that is, [G] may have formal type parameters declared.
* @description Checks various correct generic interface declarations.
* @author iefremov
abstract class I {}
abstract class I1<T> {}
abstract class I2<$, $$, $$$> {}
abstract class I5<T extends I1<List<List<List<List>>>>> {}
abstract class I6<T extends I1<I6<T>>> {}
class C1 implements I1 {}
class C2 implements I2 {}
class C3 implements I5 {}
class C4 implements I {}
main() {
new C1();
new C2();
new C3();
new C4();
new M();
abstract class ManyParameters<
T93,T94,T95,T96,T97,T98,T99,T100,T101> {}
class M implements ManyParameters {}