blob: b01d4eabd30fc8136b3bb57b60fa46dc901d182f [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
typedef C<A extends core::Object* = dynamic, K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
typedef D<K extends core::Object* = dynamic> = <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A*, K*, B) →* core::int*;
static method producer<K extends core::Object* = dynamic>() dynamic {
return <A extends core::Object* = dynamic>(core::int* v1) <B extends core::Object* = dynamic>(A*, self::producer::K*, B*) →* core::int* {
return <B extends core::Object* = dynamic>(A* v2, self::producer::K* v3, B* v4) core::int* => 0;
};
}
static method main() dynamic {
assert(self::producer<core::String*>() is <A extends core::Object* = dynamic>(core::int*) →* <B extends core::Object* = dynamic>(A, core::String*, B) →* core::int*);
}