Main6.hx 307 B

123456789101112131415
  1. class Main6 {
  2. static function fn2<T, R:T>(r:R, fn:()->T):T
  3. return null;
  4. static function test() {
  5. var a:Parent = fn2((null:Child), () -> new GrandParent());
  6. }
  7. }
  8. private class GrandParent {
  9. public function new() {}
  10. }
  11. private class Parent extends GrandParent {}
  12. private class Child extends Parent {}