| 123456789101112131415161718192021 | class Main {	static function main() {		var foo:Foo = null;		var mono = new Mono(foo);		$type(mono); // `Mono<Unknown<0>>` for both 4.1 and nightly.		// var foolike:FooLike = mono.bound;		// Uncommenting ^ would bind it correctly for both 4.1/nightly.		var barlike:BarLike = mono.bound;		// ^ 4.1 correctly errors out (not here, but in `new Mono(foo)`). Nightly happily compiles.		$type(mono); // Both bind to `Mono<BarLike>`.	}}class Mono<A> {	public final bound:A;	public function new<B:A>(obj:B) bound = obj;}class Foo { public function foo():Void {} }typedef FooLike = { function foo():Void; }typedef BarLike = { function bar():Void; }
 |