library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/circularity-via-initializing-formal.dart:15:3: Error: Can't infer the type of 'C._circular': circularity found during type inference.
// Specify the type explicitly.
//   C._circular(this.f);
//   ^^^^^^^^^^^
//
// pkg/front_end/testcases/general/circularity-via-initializing-formal.dart:11:25: Error: The value 'null' can't be assigned to the parameter type 'C' because 'C' is not nullable.
//  - 'C' is from 'pkg/front_end/testcases/general/circularity-via-initializing-formal.dart'.
// var x = new C._circular(null);
//                         ^
//
// pkg/front_end/testcases/general/circularity-via-initializing-formal.dart:14:27: Error: The value 'null' can't be assigned to the parameter type 'C' because 'C' is not nullable.
//  - 'C' is from 'pkg/front_end/testcases/general/circularity-via-initializing-formal.dart'.
//   var f = new C._circular(null);
//                           ^
//
import self as self;
import "dart:core" as core;

class C extends core::Object {
  field self::C f = new self::C::_circular(invalid-expression "pkg/front_end/testcases/general/circularity-via-initializing-formal.dart:14:27: Error: The value 'null' can't be assigned to the parameter type 'C' because 'C' is not nullable.
 - 'C' is from 'pkg/front_end/testcases/general/circularity-via-initializing-formal.dart'.
  var f = new C._circular(null);
                          ^" in null as{TypeError} self::C);
  constructor _circular(self::C f) → self::C
    : self::C::f = f, super core::Object::•()
    ;
}
static field self::C x = new self::C::_circular(invalid-expression "pkg/front_end/testcases/general/circularity-via-initializing-formal.dart:11:25: Error: The value 'null' can't be assigned to the parameter type 'C' because 'C' is not nullable.
 - 'C' is from 'pkg/front_end/testcases/general/circularity-via-initializing-formal.dart'.
var x = new C._circular(null);
                        ^" in null as{TypeError} self::C);
static method main() → dynamic {}
