library test /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart:11:7: Error: Can't infer the type of 'b': circularity found during type inference.
// Specify the type explicitly.
//   var b = /*@returnType=() -> invalid-type*/ () => x;
//       ^
//
import self as self;
import "dart:core" as core;

class A extends core::Object {
  field invalid-type b = () → () → invalid-type => self::x;
  field () → () → invalid-type c = () → () → invalid-type => self::x;
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
}
static field self::A a = new self::A::•();
static field () → invalid-type x = () → invalid-type => self::a.{self::A::b}{invalid-type};
static field () → () → () → invalid-type y = () → () → () → invalid-type => self::a.{self::A::c}{() → () → invalid-type};
static method main() → dynamic {}
