|  | library; | 
|  | // | 
|  | // Problems in library: | 
|  | // | 
|  | // pkg/front_end/testcases/extensions/extension_setter_error.dart:15:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'. | 
|  | //  - 'GenericClass' is from 'pkg/front_end/testcases/extensions/extension_setter_error.dart'. | 
|  | //   expect(null, GenericExtension<double>(genericClass).setter = null); | 
|  | //                                         ^ | 
|  | // | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | class GenericClass<T extends core::Object? = dynamic> extends core::Object { | 
|  | synthetic constructor •() → self::GenericClass<self::GenericClass::T%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | extension GenericExtension<T extends core::Object? = dynamic> on self::GenericClass<T%> { | 
|  | set setter = self::GenericExtension|set#setter; | 
|  | } | 
|  | static extension-member method GenericExtension|set#setter<T extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T%> #this, self::GenericExtension|set#setter::T? value) → void {} | 
|  | static method main() → dynamic {} | 
|  | static method error() → dynamic { | 
|  | self::GenericClass<core::int> genericClass = new self::GenericClass::•<core::int>(); | 
|  | self::expect(null, let final self::GenericClass<core::int> #t1 = invalid-expression "pkg/front_end/testcases/extensions/extension_setter_error.dart:15:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'. | 
|  | - 'GenericClass' is from 'pkg/front_end/testcases/extensions/extension_setter_error.dart'. | 
|  | expect(null, GenericExtension<double>(genericClass).setter = null); | 
|  | ^" in genericClass as{TypeError} self::GenericClass<core::double> in let final has-declared-initializer Null #t2 = null in let final void #t3 = self::GenericExtension|set#setter<core::double>(#t1, #t2) in #t2); | 
|  | } | 
|  | static method expect(dynamic expected, dynamic actual) → dynamic { | 
|  | if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) { | 
|  | throw "Mismatch: expected=${expected}, actual=${actual}"; | 
|  | } | 
|  | } |