Fix bug in hack codegen for sets
[hiphop-php.git] / hphp / hack / test / typecheck / lambda / lambda_bad_pos.php
blob134549cbc929375ac8ca23fa387a5e070b7ba573
1 <?hh
2 // Copyright 2004-present Facebook. All Rights Reserved.
4 class C {}
6 function myflip<Tk, Tv as arraykey>(
7 KeyedTraversable<Tk, Tv> $traversable,
8 ): dict<Tv, Tk> {
9 $result = dict[];
10 foreach ($traversable as $key => $value) {
11 $result[$value] = $key;
13 return $result;
15 function mymap<Tk as arraykey, Tv1, Tv2>(
16 KeyedTraversable<Tk, Tv1> $traversable,
17 (function(Tv1): Tv2) $value_func,
18 ): dict<Tk, Tv2> {
19 $result = dict[];
20 foreach ($traversable as $key => $value) {
21 $result[$key] = $value_func($value);
23 return $result;
25 function test_it(vec<C> $p, (function(C): C) $f): void {
26 $f = myflip(mymap($p, ($p) ==> $p));