Updating submodules
[hiphop-php.git] / hphp / test / slow / arrayish-casts.php
blob07d268f48b0a3594960b4165f73dbfdb10358c2a
1 <?hh
2 // Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
4 class A {
5 public static function meth() {}
8 function foo() {}
10 function varrayCast($x) {
11 return varray($x);
14 function darrayCast($x) {
15 return darray($x);
18 function dictCast($x) {
19 return dict($x);
22 function vecCast($x) {
23 return vec($x);
26 function keysetCast($x) {
27 return keyset($x);
30 function getFun() {
31 return __hhvm_intrinsics\launder_value(foo<>);
34 function getMeth() {
35 return __hhvm_intrinsics\launder_value(HH\class_meth(A::class, 'meth'));
38 <<__EntryPoint>>
39 function main(): void {
40 $tests = vec[
41 () ==> var_dump(darrayCast(getFun())),
42 () ==> var_dump(varrayCast(getFun())),
43 () ==> var_dump(dictCast(getFun())),
44 () ==> var_dump(vecCast(getFun())),
45 () ==> var_dump(keysetCast(getFun())),
47 () ==> var_dump(darrayCast(getMeth())),
48 () ==> var_dump(varrayCast(getMeth())),
49 () ==> var_dump(dictCast(getMeth())),
50 () ==> var_dump(vecCast(getMeth())),
51 () ==> var_dump(keysetCast(getMeth())),
54 $success = false;
55 $count = apc_fetch('test-count', inout $success);
56 if (!$success) $count = 0;
57 apc_store('test-count', $count + 1);
58 try {
59 $tests[$count]();
60 } catch (Exception $e) {
61 echo "Exception: " . $e->getMessage() . "\n";