Main.hx 493 B

12345678910111213141516171819202122232425262728293031323334
  1. class A {
  2. public function f():Array<A> {
  3. return [];
  4. }
  5. public function f2():A {
  6. return this;
  7. }
  8. }
  9. @:generic
  10. class B<T:haxe.Constraints.Constructible<()->Void>> {
  11. var items:Map<Int,A>;
  12. public function new() {
  13. items = new Map();
  14. }
  15. public function f():Array<A> {
  16. var a = [];
  17. for (node in items)
  18. a = a.concat(node.f());
  19. return a;
  20. }
  21. }
  22. class Main {
  23. static function main() {
  24. var b = new B<Main>();
  25. Sys.stderr().writeString("" + b.f());
  26. }
  27. public function new() { }
  28. }