blob: 42fdd87fddfe56f97fcde64fc28363836ee9c7e0 [file] [log] [blame]
// Copyright (c) 2023, 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.
extension type E1<X>(X it) {}
class A1<X extends E1<X>> {} // Error.
typedef F1<X extends E1<X>> = int; // Error.
typedef G1 = void Function<X extends E1<X>>(); // Error.
typedef void H1<X extends E1<X>>(); // Error.
extension Ext1<X extends E1<X>> on List<X> {} // Error.
enum Enum1<X extends E1<X>> { element<Never>(); } // Error.
foo1<X extends E1<X>>() {} // Error.
mixin M1<X extends E1<X>> on List<num> {} // Error.
bar1() {
var x = <X extends E1<X>>() {}; // Error.
f<X extends E1<X>>() {}; // Error.
}
extension type ET1<X extends E1<X>>(Object? it) {} // Error.
class A2<X extends E1<Y>, Y extends X> {} // Error.
typedef F2<X extends E1<Y>, Y extends X> = int; // Error.
typedef G2 = void Function<X extends E1<Y>, Y extends X>(); // Error.
typedef void H2<X extends E1<Y>, Y extends X>(); // Error.
extension Ext2<X extends E1<Y>, Y extends X> on List<X> {} // Error.
enum Enum2<X extends E1<Y>, Y extends X> { element<Never, Never>(); } // Error.
foo2<X extends E1<Y>, Y extends X>() {} // Error.
mixin M2<X extends E1<Y>, Y extends X> on List<num> {} // Error.
bar2() {
var x = <X extends E1<Y>, Y extends X>() {}; // Error.
f<X extends E1<Y>, Y extends X>() {}; // Error.
}
extension type ET2<X extends E1<Y>, Y extends X>(Object? it) {} // Error.