$param & $int; /* testTypeIntersectionArrowReturnType */ $arrowWithReturnType = fn ($param) : Foo&Bar => $param * 10; /* testBitwiseAndInArrayKey */ $array = array( A & B => /* testBitwiseAndInArrayValue */ B & C ); /* testBitwiseAndInShortArrayKey */ $array = [ A & B => /* testBitwiseAndInShortArrayValue */ B & C ]; /* testBitwiseAndNonArrowFnFunctionCall */ $obj->fn($something & $else); /* testBitwiseAnd6 */ function &fn(/* testTypeIntersectionNonArrowFunctionDeclaration */ Foo&Bar $something) {} /* testTypeIntersectionWithInvalidTypes */ function (int&string $var) {}; /* testLiveCoding */ // Intentional parse error. This has to be the last test in the file. return function( Foo&