| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/function_type_assignments.dart:11:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'. |
| // String x = identity; // No bound |
| // ^ |
| // |
| // pkg/front_end/testcases/general/function_type_assignments.dart:12:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'. |
| // - 'Object' is from 'dart:core'. |
| // String y = identityObject; // Object bound |
| // ^ |
| // |
| // pkg/front_end/testcases/general/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'. |
| // - 'List' is from 'dart:core'. |
| // String z = identityList; // List<T> bound |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| static field core::String x = invalid-expression "pkg/front_end/testcases/general/function_type_assignments.dart:11:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'. |
| String x = identity; // No bound |
| ^" in #C1 as{TypeError,ForNonNullableByDefault} core::String; |
| static field core::String y = invalid-expression "pkg/front_end/testcases/general/function_type_assignments.dart:12:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'. |
| - 'Object' is from 'dart:core'. |
| String y = identityObject; // Object bound |
| ^" in #C2 as{TypeError,ForNonNullableByDefault} core::String; |
| static field core::String z = invalid-expression "pkg/front_end/testcases/general/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'. |
| - 'List' is from 'dart:core'. |
| String z = identityList; // List<T> bound |
| ^" in #C3 as{TypeError,ForNonNullableByDefault} core::String; |
| static method identity<T extends core::Object? = dynamic>(self::identity::T% t) → self::identity::T% |
| return t; |
| static method identityObject<T extends core::Object>(self::identityObject::T t) → self::identityObject::T |
| return t; |
| static method identityList<T extends core::List<self::identityList::T> = core::List<dynamic>>(self::identityList::T t) → self::identityList::T |
| return t; |
| static method main() → dynamic {} |
| |
| constants { |
| #C1 = static-tearoff self::identity |
| #C2 = static-tearoff self::identityObject |
| #C3 = static-tearoff self::identityList |
| } |