blob: 59e271c2812918d225eaa6ead89a3f504cc86987 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
typedef C<contravariant A extends core::Object* = dynamic, contravariant K extends core::Object* = dynamic> = <B extends core::Object* = dynamic>(A*, K*, B*) →* core::int*;
typedef D<contravariant 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*);
}