blob: bdcfe7550683a1e082fca1d666e07fe8854fe736 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "org-dartlang-testcase:///const_is_lib.dart";
static method main() dynamic {
self::expect(true, (#C1) is{ForNonNullableByDefault} <T extends core::Object? = core::Object?>() void);
self::expect(true, #C2);
self::expect(true, (#C3) is{ForNonNullableByDefault} <T extends Never = dynamic>() void);
self::expect(true, #C2);
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!expected.{core::Object::==}(actual))
throw "Expected ${expected}, actual ${actual}";
}
library /*isNonNullableByDefault*/;
import self as self2;
import "dart:core" as core;
typedef fnTypeWithNullableObjectBound = <T extends core::Object? = core::Object?>() void;
typedef fnTypeWithNeverBound = <T extends Never = dynamic>() void;
static method fnWithNonNullObjectBound<T extends core::Object = core::Object>() void
return null;
static method fnWithNullBound<T extends Null = Null>() void
return null;
constants {
#C1 = tearoff self2::fnWithNonNullObjectBound
#C2 = true
#C3 = tearoff self2::fnWithNullBound
}