library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/issue49254.dart:10:7: Error: Can't infer the type of 'bar': circularity found during type inference.
// Specify the type explicitly.
//   var bar = A3.initializeFoo;
//       ^^^
//
import self as self;
import "dart:core" as core;

class C3 extends self::B3 {
  constructor •(invalid-type bar) → self::C3
    : super self::B3::•(bar)
    ;
}
class B3 extends self::A3 {
  field invalid-type bar = #C1;
  constructor •(invalid-type bar) → self::B3
    : self::B3::bar = bar, super self::A3::•()
    ;
}
class A3 extends core::Object {
  field (invalid-type) → self::C3 foo = #C2;
  constructor •() → self::A3
    : super core::Object::•()
    ;
  constructor initializeFoo((invalid-type) → self::C3 foo) → self::A3
    : self::A3::foo = foo, super core::Object::•()
    ;
}

constants  {
  #C1 = constructor-tearoff self::A3::initializeFoo
  #C2 = constructor-tearoff self::C3::•
}
