blob: 05c9f388e986d1ad9968e11b887a85c314d68c97 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
// Try changing the type of the parameter, or casting the argument to 'dynamic Function(String)'.
// List<String> list6 = ['a', 'b', 'c'].map(c).toList();
// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
method call(core::String s) core::String
return "${s}${s}";
}
class B<T extends core::Object = dynamic> extends core::Object {
synthetic constructor •() self::B<self::B::T>
: super core::Object::•()
;
method call(generic-covariant-impl self::B::T t) self::B::T
return t;
}
class C extends core::Object {
synthetic constructor •() self::C
: super core::Object::•()
;
method call<T extends core::Object = dynamic>(self::C::call::T t) self::C::call::T
return t;
}
static method test() dynamic {
self::A a = new self::A::•();
core::List<core::String> list1 = <core::String>["a", "b", "c"].{core::Iterable::map}<core::String>(a.{self::A::call}).{core::Iterable::toList}();
core::List<core::String> list2 = <core::String>["a", "b", "c"].{core::Iterable::map}<core::String>(let final self::A #t1 = a in #t1.==(null) ?{(core::String) → core::String} null : #t1.{self::A::call}).{core::Iterable::toList}();
self::B<core::String> b = new self::B::•<core::String>();
core::List<core::String> list3 = <core::String>["a", "b", "c"].{core::Iterable::map}<core::String>(b.{self::B::call}).{core::Iterable::toList}();
core::List<core::String> list4 = <core::String>["a", "b", "c"].{core::Iterable::map}<core::String>(let final self::B<core::String> #t2 = b in #t2.==(null) ?{(core::String) → core::String} null : #t2.{self::B::call}).{core::Iterable::toList}();
self::C c = new self::C::•();
core::List<core::String> list5 = <core::String>["a", "b", "c"].{core::Iterable::map}<core::String>(c.{self::C::call}<core::String>).{core::Iterable::toList}();
core::List<core::String> list6 = <core::String>["a", "b", "c"].{core::Iterable::map}<dynamic>(let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
Try changing the type of the parameter, or casting the argument to 'dynamic Function(String)'.
List<String> list6 = ['a', 'b', 'c'].map(c).toList();
^" in (let final self::C #t4 = c in #t4.==(null) ?{<T extends core::Object = dynamic>(self::C::call::T) → self::C::call::T} null : #t4.{self::C::call}) as{TypeError} (core::String) → dynamic).{core::Iterable::toList}() as{TypeError} core::List<core::String>;
}
static method main() → dynamic {}