// Formatted problems:
//
// pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:30: Error: A value of type 'dart.core::String' can't be assigned to a variable of type 'dart.core::int'.
// Try changing the type of the left hand side, or casting the right hand side to 'dart.core::int'.
//       . /*@target=A::value*/ value;
//                              ^

library;
import self as self;
import "dart:core" as core;
import "./infer_types_on_generic_instantiations_in_library_cycle.dart" as test;

abstract class I<E extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → self::I<self::I::E>
    : super core::Object::•()
    ;
  abstract method m(dynamic a, (dynamic, core::int) → core::String f) → test::A<self::I::E>;
}
static method main() → dynamic {}
