convert ***sort builtins to use inout instead of references
[hiphop-php.git] / hphp / test / slow / collection_classes / uasort-mutate.php
blob3cadc5f2b5b949fc164a189d4b34e215d2082b3f
1 <?hh
3 function nonstatic_string(string $a): string {
4 return __hhvm_intrinsics\launder_value($a) . $a;
7 class Ref { public function __construct(public $v) {} }
9 <<__EntryPoint>>
10 function main() {
11 $m = Map{};
12 $m[1] = nonstatic_string('c');
13 $m[2] = nonstatic_string('b');
14 $m[3] = nonstatic_string('a');
15 $mut = new Ref(true);
16 uasort(inout $m, ($a, $b) ==> {
17 var_dump($a, $b);
18 if ($mut->v) {
19 echo "mut\n";
20 $mut->v = false;
21 $m[0] = 'dd';
22 unset($m[3]);
23 unset($m[2]);
24 unset($m[1]);
25 unset($m[0]);
27 return $a <=> $b;
28 });
29 var_dump($m);