library test;
//
// 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) as{TypeError} invalid-type;
  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};
static field () →* () →* () →* invalid-type y = () → () →* () →* invalid-type => self::a.{self::A::c};
static method main() → dynamic {}
