library test /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:17:5: Error: Can't infer the type of 'x': circularity found during type inference.
// Specify the type explicitly.
// var x = /*@returnType=() -> invalid-type*/ () => f() ? y : z;
//     ^
//
// pkg/front_end/testcases/inference_new/strongly_connected_component.dart:8:13: Error: The value 'null' can't be returned from a function with return type 'bool' because 'bool' is not nullable.
// bool f() => null;
//             ^
//
import self as self;
import "dart:core" as core;

static field invalid-type x = () → () → invalid-type => self::f() ?{() → invalid-type} self::y : self::z;
static field () → invalid-type y = () → invalid-type => self::x;
static field () → invalid-type z = () → invalid-type => self::x;
static method f() → core::bool
  return invalid-expression "pkg/front_end/testcases/inference_new/strongly_connected_component.dart:8:13: Error: The value 'null' can't be returned from a function with return type 'bool' because 'bool' is not nullable.
bool f() => null;
            ^" in null as{TypeError,ForNonNullableByDefault} core::bool;
static method main() → dynamic {}
