Updating submodules
[hiphop-php.git] / hphp / hack / test / typecheck / function_pointer / projected_type_const2.php
blob6f12290f2ae0b0b505613eff1b0c8149d22e2fa0
1 <?hh
3 abstract class MyBox {
4 abstract const type TInner;
5 abstract public function set(this::TInner $_): void;
8 class IntBox extends MyBox {
9 const type TInner = int;
10 public function set(int $_): void {}
13 function set_a_box<TBox as MyBox with { type TInner = TVal }, TVal>(
14 TBox $b,
15 TVal $v,
16 ): void {
17 $b->set($v);
20 function test(): (function(IntBox, IntBox::TInner): void) {
21 return set_a_box<>;