blob: d40d9395cc673e57af337d7dcfd0ecc0601fcbb9 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/inline_class/extension_types/issue53123.dart:7:6: Error: Inferred type argument 'V<dynamic>' doesn't conform to the bound 'V<T>' of the type variable 'T' on 'ExtensionType(V<V<dynamic>>)'.
// Try specifying type arguments explicitly so that they conform to the bounds.
// test(V v) {
// ^
// pkg/front_end/testcases/inline_class/extension_types/issue53123.dart:5:18: Context: This is the type variable whose bound isn't conformed to.
// extension type V<T extends V<T>>(T id) {}
// ^
//
import self as self;
extension type V<T extends self::V<T> /* = T */ = self::V<dynamic> /* = dynamic */>(T id) {
constructor = self::V|;
tearoff = self::V|_#new#tearOff;
}
static inline-class-member method V|<T extends self::V<self::V|::T> /* = self::V|::T */ = dynamic>(self::V|::T id) self::V<self::V|::T> /* = self::V|::T */
;
static inline-class-member method V|_#new#tearOff<T extends self::V<self::V|_#new#tearOff::T> /* = self::V|_#new#tearOff::T */ = dynamic>(self::V|_#new#tearOff::T id) → self::V<self::V|_#new#tearOff::T> /* = self::V|_#new#tearOff::T */
return self::V|<self::V|_#new#tearOff::T>(id);
static method test(self::V<self::V<dynamic> /* = dynamic */> /* = dynamic */ v) dynamic
;