class A { public function f():Array { return []; } public function f2():A { return this; } } @:generic class BVoid>> { var items:Map; public function new() { items = new Map(); } public function f():Array { var a = []; for (node in items) a = a.concat(node.f()); return a; } } class Main { static function main() { var b = new B
(); Sys.stderr().writeString("" + b.f()); } public function new() { } }