From 030c33bf77405fad6deafcb392ce0167a0e464c2 Mon Sep 17 00:00:00 2001 From: David Snider Date: Wed, 9 Sep 2020 07:22:29 -0700 Subject: [PATCH] Move tests that only checks first error to subfolder Summary: This is the bad behaviour (and sometimes includes errors) so move the affected one to a subfolder for triaging. Reviewed By: zilberstein Differential Revision: D23587971 fbshipit-source-id: 8f240b2f690e1740dbd5e80e10d08ab99e23ecb1 --- .../at_most_rx_as_func2.php.like_types.exp | 36 ++++++++++++++++++++++ .../at_most_rx_as_func3.php.like_types.exp | 6 ++++ .../conditional_reactivity1.php.like_types.exp | 6 ++++ .../reactive/foreach_in_rx1.php.like_types.exp | 24 +++++++++++++++ .../reactive/mayberx14.php.like_types.exp | 10 ++++++ .../reactive/mayberx15.php.like_types.exp | 10 ++++++ .../reactive/mayberx7_1.php.like_types.exp | 6 ++++ .../reactive/mayberx7_2.php.like_types.exp | 6 ++++ .../typecheck/reactive/mayberx8.php.like_types.exp | 6 ++++ .../mutable_return_ft_in_rx2.php.like_types.exp | 4 +++ .../reactive/{ => only_first_error}/HH_FLAGS | 0 .../{ => only_first_error}/at_most_rx_as_args1.php | 0 .../at_most_rx_as_args1.php.exp | 0 .../reactive/{ => only_first_error}/mayberx5.php | 0 .../{ => only_first_error}/mayberx5.php.exp | 0 .../reactive/{ => only_first_error}/mayberx6.php | 0 .../{ => only_first_error}/mayberx6.php.exp | 0 .../{ => only_first_error}/memoize_mutable4.php | 0 .../memoize_mutable4.php.exp | 0 .../mutability_flavors2_1.php | 0 .../mutability_flavors2_1.php.exp | 0 .../{ => only_first_error}/mutable_as_hint1.php | 0 .../mutable_as_hint1.php.exp | 0 .../{ => only_first_error}/mutable_in_expr3.php | 0 .../mutable_in_expr3.php.exp | 0 .../{ => only_first_error}/mutable_inout1.php | 0 .../{ => only_first_error}/mutable_inout1.php.exp | 0 .../reactive/{ => only_first_error}/nonrx7.php | 0 .../reactive/{ => only_first_error}/nonrx7.php.exp | 0 .../{ => only_first_error}/owned_mutable1.php | 0 .../{ => only_first_error}/owned_mutable1.php.exp | 0 .../{ => only_first_error}/owned_mutable15.php | 0 .../{ => only_first_error}/owned_mutable15.php.exp | 0 .../{ => only_first_error}/owned_mutable2.php | 0 .../{ => only_first_error}/owned_mutable2.php.exp | 0 .../{ => only_first_error}/owned_mutable5.php | 0 .../{ => only_first_error}/owned_mutable5.php.exp | 0 .../{ => only_first_error}/owned_mutable6.php | 0 .../{ => only_first_error}/owned_mutable6.php.exp | 0 .../{ => only_first_error}/owned_mutable7.php | 0 .../{ => only_first_error}/owned_mutable7.php.exp | 0 .../parse_missing_reactivity3.php | 0 .../parse_missing_reactivity3.php.exp | 0 .../parse_missing_reactivity4.php | 0 .../parse_missing_reactivity4.php.exp | 0 .../parse_missing_reactivity5.php | 0 .../parse_missing_reactivity5.php.exp | 0 .../{ => only_first_error}/parse_multiple4.php | 0 .../{ => only_first_error}/parse_multiple4.php.exp | 0 .../{ => only_first_error}/parse_multiple8.php | 0 .../{ => only_first_error}/parse_multiple8.php.exp | 0 .../pipe_rhs_awaitable_in_rx2.php | 0 .../pipe_rhs_awaitable_in_rx2.php.exp | 0 .../only_first_error/pure_does_bad_things.php | 26 ++++++++++++++++ .../only_first_error/pure_does_bad_things.php.exp | 2 ++ .../{ => only_first_error}/reactive_calls4.php | 0 .../{ => only_first_error}/reactive_calls4.php.exp | 0 .../{ => only_first_error}/ref_if_rx_enabled1.php | 0 .../ref_if_rx_enabled1.php.exp | 0 .../{ => only_first_error}/references_in_rx1.php | 0 .../references_in_rx1.php.exp | 0 .../{ => only_first_error}/references_in_rx2.php | 0 .../references_in_rx2.php.exp | 0 .../{ => only_first_error}/references_in_rx3.php | 0 .../references_in_rx3.php.exp | 0 .../reactive/{ => only_first_error}/rx_class1.php | 0 .../{ => only_first_error}/rx_class1.php.exp | 0 .../reactive/{ => only_first_error}/rx_class2.php | 0 .../{ => only_first_error}/rx_class2.php.exp | 0 .../reactive/{ => only_first_error}/rx_class3.php | 0 .../{ => only_first_error}/rx_class3.php.exp | 0 .../{ => only_first_error}/rx_if_enabled2.php | 0 .../{ => only_first_error}/rx_if_enabled2.php.exp | 0 .../{ => only_first_error}/rx_if_enabled3.php | 0 .../{ => only_first_error}/rx_if_enabled3.php.exp | 0 .../{ => only_first_error}/rx_if_enabled4.php | 0 .../{ => only_first_error}/rx_if_enabled4.php.exp | 0 .../{ => only_first_error}/rx_if_implements24.php | 0 .../rx_if_implements24.php.exp | 0 .../{ => only_first_error}/rx_if_implements25.php | 0 .../rx_if_implements25.php.exp | 0 .../{ => only_first_error}/rx_if_implements8.php | 0 .../rx_if_implements8.php.exp | 0 .../{ => only_first_error}/rx_if_implements9.php | 0 .../rx_if_implements9.php.exp | 0 .../reactive/{ => only_first_error}/rx_move7.php | 0 .../{ => only_first_error}/rx_move7.php.exp | 0 .../rx_unresolved_byval_collection2.php | 0 .../rx_unresolved_byval_collection2.php.exp | 0 .../static_rx_if_implements6.php | 0 .../static_rx_if_implements6.php.exp | 0 .../static_rx_if_implements7.php | 0 .../static_rx_if_implements7.php.exp | 0 .../static_rx_if_implements8.php | 0 .../static_rx_if_implements8.php.exp | 0 .../static_rx_if_implements8_1.php | 0 .../static_rx_if_implements8_1.php.exp | 0 .../static_rx_if_implements8_2.php | 0 .../static_rx_if_implements8_2.php.exp | 0 .../test_memoized_mutable.php | 0 .../test_memoized_mutable.php.exp | 0 .../{ => only_first_error}/test_method_call.php | 0 .../test_method_call.php.exp | 0 .../test_method_call.php.like_types.exp | 8 +++++ .../{ => only_first_error}/test_mutable_assign.php | 0 .../test_mutable_assign.php.exp | 0 .../test_mutable_return9.php | 0 .../test_mutable_return9.php.exp | 0 .../{ => only_first_error}/test_rx_enabled1.php | 0 .../test_rx_enabled1.php.exp | 0 .../{ => only_first_error}/test_rx_enabled2.php | 0 .../test_rx_enabled2.php.exp | 0 .../{ => only_first_error}/test_rx_enabled5.php | 0 .../test_rx_enabled5.php.exp | 0 .../test_rx_enabled6.php} | 3 +- .../only_first_error/test_rx_enabled6.php.exp | 2 ++ .../{ => only_first_error}/vararg_mutable1.php | 0 .../{ => only_first_error}/vararg_mutable1.php.exp | 0 .../{ => only_first_error}/vararg_mutable2.php | 0 .../{ => only_first_error}/vararg_mutable2.php.exp | 0 .../{ => only_first_error}/vararg_mutable3.php | 0 .../{ => only_first_error}/vararg_mutable3.php.exp | 0 .../reassign_in_foreach3.php.like_types.exp | 4 +++ .../reassign_in_foreach4.php.like_types.exp | 4 +++ .../reassign_in_foreach5.php.like_types.exp | 4 +++ 125 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 hphp/hack/test/typecheck/reactive/mayberx14.php.like_types.exp create mode 100644 hphp/hack/test/typecheck/reactive/mayberx15.php.like_types.exp create mode 100644 hphp/hack/test/typecheck/reactive/mutable_return_ft_in_rx2.php.like_types.exp rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/HH_FLAGS (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/at_most_rx_as_args1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/at_most_rx_as_args1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mayberx5.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mayberx5.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mayberx6.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mayberx6.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/memoize_mutable4.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/memoize_mutable4.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutability_flavors2_1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutability_flavors2_1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_as_hint1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_as_hint1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_in_expr3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_in_expr3.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_inout1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/mutable_inout1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/nonrx7.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/nonrx7.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable15.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable15.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable5.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable5.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable6.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable6.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable7.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/owned_mutable7.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity3.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity4.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity4.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity5.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_missing_reactivity5.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_multiple4.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_multiple4.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_multiple8.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/parse_multiple8.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/pipe_rhs_awaitable_in_rx2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/pipe_rhs_awaitable_in_rx2.php.exp (100%) create mode 100644 hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php create mode 100644 hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php.exp rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/reactive_calls4.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/reactive_calls4.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/ref_if_rx_enabled1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/ref_if_rx_enabled1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/references_in_rx3.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_class3.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled3.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled4.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_enabled4.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements24.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements24.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements25.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements25.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements8.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements8.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements9.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_if_implements9.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_move7.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_move7.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_unresolved_byval_collection2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/rx_unresolved_byval_collection2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements6.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements6.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements7.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements7.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8_1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8_1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8_2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/static_rx_if_implements8_2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_memoized_mutable.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_memoized_mutable.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_method_call.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_method_call.php.exp (100%) create mode 100644 hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.like_types.exp rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_mutable_assign.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_mutable_assign.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_mutable_return9.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_mutable_return9.php.exp (100%) copy hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled5.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/test_rx_enabled5.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{test_rx_enabled1.php => only_first_error/test_rx_enabled6.php} (89%) create mode 100644 hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php.exp rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable1.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable1.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable2.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable2.php.exp (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable3.php (100%) rename hphp/hack/test/typecheck/reactive/{ => only_first_error}/vararg_mutable3.php.exp (100%) create mode 100644 hphp/hack/test/typecheck/reactive/reassign_in_foreach3.php.like_types.exp create mode 100644 hphp/hack/test/typecheck/reactive/reassign_in_foreach4.php.like_types.exp create mode 100644 hphp/hack/test/typecheck/reactive/reassign_in_foreach5.php.like_types.exp diff --git a/hphp/hack/test/typecheck/reactive/at_most_rx_as_func2.php.like_types.exp b/hphp/hack/test/typecheck/reactive/at_most_rx_as_func2.php.like_types.exp index 2c5aff4f84a..9e417ae5038 100644 --- a/hphp/hack/test/typecheck/reactive/at_most_rx_as_func2.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/at_most_rx_as_func2.php.like_types.exp @@ -2,3 +2,39 @@ File "at_most_rx_as_func2.php", line 11, characters 10-13: Reactive functions can only call other reactive functions. (Typing[4200]) File "at_most_rx_as_func2.php", line 8, characters 23-39: This function is non-reactive. +File "at_most_rx_as_func2.php", line 18, characters 5-28: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 15, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration +File "at_most_rx_as_func2.php", line 20, characters 5-35: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 15, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration +File "at_most_rx_as_func2.php", line 27, characters 5-28: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 24, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration +File "at_most_rx_as_func2.php", line 29, characters 5-35: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 24, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration +File "at_most_rx_as_func2.php", line 31, characters 5-35: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 24, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration +File "at_most_rx_as_func2.php", line 33, characters 5-33: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "at_most_rx_as_func2.php", line 24, characters 15-15: +Argument type must be a subtype of `\Rx`, now `~T`. +File "at_most_rx_as_func2.php", line 7, characters 10-10: +This is the function declaration diff --git a/hphp/hack/test/typecheck/reactive/at_most_rx_as_func3.php.like_types.exp b/hphp/hack/test/typecheck/reactive/at_most_rx_as_func3.php.like_types.exp index e2a212e5e8b..2301b7cff7d 100644 --- a/hphp/hack/test/typecheck/reactive/at_most_rx_as_func3.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/at_most_rx_as_func3.php.like_types.exp @@ -2,3 +2,9 @@ File "at_most_rx_as_func3.php", line 5, characters 10-13: Reactive functions can only call other reactive functions. (Typing[4200]) File "at_most_rx_as_func3.php", line 4, characters 32-48: This function is non-reactive. +File "at_most_rx_as_func3.php", line 11, characters 10-36: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "at_most_rx_as_func3.php", line 4, characters 10-10: +This function is shallow reactive. +File "at_most_rx_as_func3.php", line 11, characters 12-35: +This argument caused function to be shallow reactive. diff --git a/hphp/hack/test/typecheck/reactive/conditional_reactivity1.php.like_types.exp b/hphp/hack/test/typecheck/reactive/conditional_reactivity1.php.like_types.exp index 9e5d2e7fabe..15c24ee7cb0 100644 --- a/hphp/hack/test/typecheck/reactive/conditional_reactivity1.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/conditional_reactivity1.php.like_types.exp @@ -2,3 +2,9 @@ File "conditional_reactivity1.php", line 22, characters 48-65: Reactive functions can only call other reactive functions. (Typing[4200]) File "conditional_reactivity1.php", line 17, characters 23-57: This function is non-reactive. +File "conditional_reactivity1.php", line 20, characters 8-103: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "conditional_reactivity1.php", line 16, characters 3-24: +Argument type must be a subtype of `\HH\Rx\KeyedTraversable<_, _>`, now `~\HH\KeyedContainer`. +File "conditional_reactivity1.php", line 3, characters 10-21: +This is the function declaration diff --git a/hphp/hack/test/typecheck/reactive/foreach_in_rx1.php.like_types.exp b/hphp/hack/test/typecheck/reactive/foreach_in_rx1.php.like_types.exp index b0bb738a040..0ab2cbf2879 100644 --- a/hphp/hack/test/typecheck/reactive/foreach_in_rx1.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/foreach_in_rx1.php.like_types.exp @@ -1,2 +1,26 @@ File "foreach_in_rx1.php", line 6, characters 12-13: Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 13, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 20, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 27, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 34, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 43, characters 12-13: +Invalid `foreach` (Typing[4110]) +File "foreach_in_rx1.php", line 43, characters 12-13: +Expected `Traversable<[unresolved]>` because this is used in a `foreach` statement +File "foreach_in_rx1.php", line 40, characters 48-63: +But got `~\HH\Traversable#\HH\Rx\Traversable` +File "foreach_in_rx1.php", line 50, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) +File "foreach_in_rx1.php", line 67, characters 12-13: +Invalid `foreach` (Typing[4110]) +File "foreach_in_rx1.php", line 67, characters 12-13: +Expected `Traversable<[unresolved]>` because this is used in a `foreach` statement +File "foreach_in_rx1.php", line 61, characters 48-63: +But got `~\HH\Traversable#\HH\Rx\Traversable` +File "foreach_in_rx1.php", line 67, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) diff --git a/hphp/hack/test/typecheck/reactive/mayberx14.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mayberx14.php.like_types.exp new file mode 100644 index 00000000000..7b7bb0b11ed --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/mayberx14.php.like_types.exp @@ -0,0 +1,10 @@ +File "mayberx14.php", line 20, characters 3-33: +Cannot invoke conditionally reactive function in reactive context, because at least one reactivity condition is not met. (Typing[4237]) +File "mayberx14.php", line 20, characters 8-8: +Receiver type must be a subtype of `\Rx`, now `\B`. +File "mayberx14.php", line 9, characters 19-19: +This is the function declaration +File "mayberx14.php", line 10, characters 12-15: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx14.php", line 9, characters 41-57: +This function is non-reactive. diff --git a/hphp/hack/test/typecheck/reactive/mayberx15.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mayberx15.php.like_types.exp new file mode 100644 index 00000000000..f6877aaa16f --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/mayberx15.php.like_types.exp @@ -0,0 +1,10 @@ +File "mayberx15.php", line 20, characters 3-66: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx15.php", line 9, characters 19-19: +This function is non-reactive. +File "mayberx15.php", line 20, characters 16-65: +This argument caused function to be non-reactive. +File "mayberx15.php", line 10, characters 12-15: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx15.php", line 9, characters 41-57: +This function is non-reactive. diff --git a/hphp/hack/test/typecheck/reactive/mayberx7_1.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mayberx7_1.php.like_types.exp index 84b4133e438..097a8e3992f 100644 --- a/hphp/hack/test/typecheck/reactive/mayberx7_1.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/mayberx7_1.php.like_types.exp @@ -2,3 +2,9 @@ File "mayberx7_1.php", line 5, characters 10-13: Reactive functions can only call other reactive functions. (Typing[4200]) File "mayberx7_1.php", line 4, characters 38-54: This function is non-reactive. +File "mayberx7_1.php", line 11, characters 10-55: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx7_1.php", line 4, characters 10-16: +This function is non-reactive. +File "mayberx7_1.php", line 11, characters 18-54: +This argument caused function to be non-reactive. diff --git a/hphp/hack/test/typecheck/reactive/mayberx7_2.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mayberx7_2.php.like_types.exp index eac5616bf7b..5b403c25538 100644 --- a/hphp/hack/test/typecheck/reactive/mayberx7_2.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/mayberx7_2.php.like_types.exp @@ -2,3 +2,9 @@ File "mayberx7_2.php", line 5, characters 10-13: Reactive functions can only call other reactive functions. (Typing[4200]) File "mayberx7_2.php", line 4, characters 38-54: This function is non-reactive. +File "mayberx7_2.php", line 11, characters 10-59: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx7_2.php", line 4, characters 10-16: +This function is non-reactive. +File "mayberx7_2.php", line 11, characters 18-58: +This argument caused function to be non-reactive. diff --git a/hphp/hack/test/typecheck/reactive/mayberx8.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mayberx8.php.like_types.exp index c13351a6ccb..430e73b0c6b 100644 --- a/hphp/hack/test/typecheck/reactive/mayberx8.php.like_types.exp +++ b/hphp/hack/test/typecheck/reactive/mayberx8.php.like_types.exp @@ -2,3 +2,9 @@ File "mayberx8.php", line 5, characters 10-13: Reactive functions can only call other reactive functions. (Typing[4200]) File "mayberx8.php", line 4, characters 38-54: This function is non-reactive. +File "mayberx8.php", line 11, characters 10-68: +Reactive functions can only call other reactive functions. (Typing[4200]) +File "mayberx8.php", line 4, characters 10-16: +This function is non-reactive. +File "mayberx8.php", line 11, characters 18-67: +This argument caused function to be non-reactive. diff --git a/hphp/hack/test/typecheck/reactive/mutable_return_ft_in_rx2.php.like_types.exp b/hphp/hack/test/typecheck/reactive/mutable_return_ft_in_rx2.php.like_types.exp new file mode 100644 index 00000000000..8feeeaaa9fc --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/mutable_return_ft_in_rx2.php.like_types.exp @@ -0,0 +1,4 @@ +File "mutable_return_ft_in_rx2.php", line 10, characters 28-37: +`OwnedMutable` is the only mutability related hint allowed in return type annotation for reactive function types. (Naming[2099]) +File "mutable_return_ft_in_rx2.php", line 11, characters 8-27: +Single argument to `\HH\Rx\mutable` should be an expression that yields new mutably-owned value, like `new A()`, Hack collection literal or `f()` where `f` is function annotated with `<<__MutableReturn>>` attribute. (Typing[4243]) diff --git a/hphp/hack/test/typecheck/reactive/HH_FLAGS b/hphp/hack/test/typecheck/reactive/only_first_error/HH_FLAGS similarity index 100% rename from hphp/hack/test/typecheck/reactive/HH_FLAGS rename to hphp/hack/test/typecheck/reactive/only_first_error/HH_FLAGS diff --git a/hphp/hack/test/typecheck/reactive/at_most_rx_as_args1.php b/hphp/hack/test/typecheck/reactive/only_first_error/at_most_rx_as_args1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/at_most_rx_as_args1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/at_most_rx_as_args1.php diff --git a/hphp/hack/test/typecheck/reactive/at_most_rx_as_args1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/at_most_rx_as_args1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/at_most_rx_as_args1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/at_most_rx_as_args1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mayberx5.php b/hphp/hack/test/typecheck/reactive/only_first_error/mayberx5.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mayberx5.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mayberx5.php diff --git a/hphp/hack/test/typecheck/reactive/mayberx5.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mayberx5.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mayberx5.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mayberx5.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mayberx6.php b/hphp/hack/test/typecheck/reactive/only_first_error/mayberx6.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mayberx6.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mayberx6.php diff --git a/hphp/hack/test/typecheck/reactive/mayberx6.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mayberx6.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mayberx6.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mayberx6.php.exp diff --git a/hphp/hack/test/typecheck/reactive/memoize_mutable4.php b/hphp/hack/test/typecheck/reactive/only_first_error/memoize_mutable4.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/memoize_mutable4.php rename to hphp/hack/test/typecheck/reactive/only_first_error/memoize_mutable4.php diff --git a/hphp/hack/test/typecheck/reactive/memoize_mutable4.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/memoize_mutable4.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/memoize_mutable4.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/memoize_mutable4.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mutability_flavors2_1.php b/hphp/hack/test/typecheck/reactive/only_first_error/mutability_flavors2_1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutability_flavors2_1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mutability_flavors2_1.php diff --git a/hphp/hack/test/typecheck/reactive/mutability_flavors2_1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mutability_flavors2_1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutability_flavors2_1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mutability_flavors2_1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mutable_as_hint1.php b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_as_hint1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_as_hint1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_as_hint1.php diff --git a/hphp/hack/test/typecheck/reactive/mutable_as_hint1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_as_hint1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_as_hint1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_as_hint1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mutable_in_expr3.php b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_in_expr3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_in_expr3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_in_expr3.php diff --git a/hphp/hack/test/typecheck/reactive/mutable_in_expr3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_in_expr3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_in_expr3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_in_expr3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/mutable_inout1.php b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_inout1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_inout1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_inout1.php diff --git a/hphp/hack/test/typecheck/reactive/mutable_inout1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/mutable_inout1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/mutable_inout1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/mutable_inout1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/nonrx7.php b/hphp/hack/test/typecheck/reactive/only_first_error/nonrx7.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/nonrx7.php rename to hphp/hack/test/typecheck/reactive/only_first_error/nonrx7.php diff --git a/hphp/hack/test/typecheck/reactive/nonrx7.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/nonrx7.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/nonrx7.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/nonrx7.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable1.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable1.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable15.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable15.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable15.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable15.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable15.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable15.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable15.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable15.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable2.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable2.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable5.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable5.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable5.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable5.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable5.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable5.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable5.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable5.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable6.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable6.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable6.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable6.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable6.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable6.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable6.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable6.php.exp diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable7.php b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable7.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable7.php rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable7.php diff --git a/hphp/hack/test/typecheck/reactive/owned_mutable7.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable7.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/owned_mutable7.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/owned_mutable7.php.exp diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity3.php b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity3.php diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity4.php b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity4.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity4.php rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity4.php diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity4.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity4.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity4.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity4.php.exp diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity5.php b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity5.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity5.php rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity5.php diff --git a/hphp/hack/test/typecheck/reactive/parse_missing_reactivity5.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity5.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_missing_reactivity5.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_missing_reactivity5.php.exp diff --git a/hphp/hack/test/typecheck/reactive/parse_multiple4.php b/hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple4.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_multiple4.php rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple4.php diff --git a/hphp/hack/test/typecheck/reactive/parse_multiple4.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple4.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_multiple4.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple4.php.exp diff --git a/hphp/hack/test/typecheck/reactive/parse_multiple8.php b/hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple8.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_multiple8.php rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple8.php diff --git a/hphp/hack/test/typecheck/reactive/parse_multiple8.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple8.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/parse_multiple8.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/parse_multiple8.php.exp diff --git a/hphp/hack/test/typecheck/reactive/pipe_rhs_awaitable_in_rx2.php b/hphp/hack/test/typecheck/reactive/only_first_error/pipe_rhs_awaitable_in_rx2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/pipe_rhs_awaitable_in_rx2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/pipe_rhs_awaitable_in_rx2.php diff --git a/hphp/hack/test/typecheck/reactive/pipe_rhs_awaitable_in_rx2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/pipe_rhs_awaitable_in_rx2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/pipe_rhs_awaitable_in_rx2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/pipe_rhs_awaitable_in_rx2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php b/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php new file mode 100644 index 00000000000..8a60ba8c634 --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php @@ -0,0 +1,26 @@ +> +function pure(): void { + FooClass::$foo += 1; + echo 'bar'; + $f = new FooClass(); + $f->bar++; + $f2 = Rx\mutable(new FooClass()); + $f2->bar++; +} + +<<__Rx>> +function rx(): void { + FooClass::$foo += 1; + echo 'bar'; + $f = new FooClass(); + $f->bar++; + $f2 = Rx\mutable(new FooClass()); + $f2->bar++; +} + +class FooClass { + public static int $foo = 0; + public int $bar = 42; +} diff --git a/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php.exp new file mode 100644 index 00000000000..59e2f0e904b --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/only_first_error/pure_does_bad_things.php.exp @@ -0,0 +1,2 @@ +File "pure_does_bad_things.php", line 5, characters 3-16: +Static property cannot be used in a reactive context. (Typing[4228]) diff --git a/hphp/hack/test/typecheck/reactive/reactive_calls4.php b/hphp/hack/test/typecheck/reactive/only_first_error/reactive_calls4.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/reactive_calls4.php rename to hphp/hack/test/typecheck/reactive/only_first_error/reactive_calls4.php diff --git a/hphp/hack/test/typecheck/reactive/reactive_calls4.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/reactive_calls4.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/reactive_calls4.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/reactive_calls4.php.exp diff --git a/hphp/hack/test/typecheck/reactive/ref_if_rx_enabled1.php b/hphp/hack/test/typecheck/reactive/only_first_error/ref_if_rx_enabled1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/ref_if_rx_enabled1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/ref_if_rx_enabled1.php diff --git a/hphp/hack/test/typecheck/reactive/ref_if_rx_enabled1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/ref_if_rx_enabled1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/ref_if_rx_enabled1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/ref_if_rx_enabled1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx1.php b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx1.php diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx2.php b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx2.php diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx3.php b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx3.php diff --git a/hphp/hack/test/typecheck/reactive/references_in_rx3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/references_in_rx3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/references_in_rx3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_class1.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class1.php diff --git a/hphp/hack/test/typecheck/reactive/rx_class1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_class2.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class2.php diff --git a/hphp/hack/test/typecheck/reactive/rx_class2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_class3.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class3.php diff --git a/hphp/hack/test/typecheck/reactive/rx_class3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_class3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_class3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_class3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled2.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled2.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled3.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled3.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled4.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled4.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled4.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled4.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_enabled4.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled4.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_enabled4.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_enabled4.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements24.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements24.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements24.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements24.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements24.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements24.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements24.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements24.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements25.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements25.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements25.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements25.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements25.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements25.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements25.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements25.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements8.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements8.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements8.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements8.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements8.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements8.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements8.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements8.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements9.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements9.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements9.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements9.php diff --git a/hphp/hack/test/typecheck/reactive/rx_if_implements9.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements9.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_if_implements9.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_if_implements9.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_move7.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_move7.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_move7.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_move7.php diff --git a/hphp/hack/test/typecheck/reactive/rx_move7.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_move7.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_move7.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_move7.php.exp diff --git a/hphp/hack/test/typecheck/reactive/rx_unresolved_byval_collection2.php b/hphp/hack/test/typecheck/reactive/only_first_error/rx_unresolved_byval_collection2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_unresolved_byval_collection2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_unresolved_byval_collection2.php diff --git a/hphp/hack/test/typecheck/reactive/rx_unresolved_byval_collection2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/rx_unresolved_byval_collection2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/rx_unresolved_byval_collection2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/rx_unresolved_byval_collection2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements6.php b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements6.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements6.php rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements6.php diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements6.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements6.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements6.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements6.php.exp diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements7.php b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements7.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements7.php rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements7.php diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements7.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements7.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements7.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements7.php.exp diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8.php b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8.php rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8.php diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8.php.exp diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8_1.php b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8_1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_1.php diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8_1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8_1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8_2.php b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8_2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_2.php diff --git a/hphp/hack/test/typecheck/reactive/static_rx_if_implements8_2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/static_rx_if_implements8_2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/static_rx_if_implements8_2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_memoized_mutable.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_memoized_mutable.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_memoized_mutable.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_memoized_mutable.php diff --git a/hphp/hack/test/typecheck/reactive/test_memoized_mutable.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_memoized_mutable.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_memoized_mutable.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_memoized_mutable.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_method_call.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_method_call.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php diff --git a/hphp/hack/test/typecheck/reactive/test_method_call.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_method_call.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.exp diff --git a/hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.like_types.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.like_types.exp new file mode 100644 index 00000000000..b7b885b990e --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/only_first_error/test_method_call.php.like_types.exp @@ -0,0 +1,8 @@ +File "test_method_call.php", line 24, characters 3-14: + ~ as Something +File "test_method_call.php", line 12, characters 19-21: +Invalid return type (Typing[4336]) +File "test_method_call.php", line 12, characters 19-21: +Expected `void` because this function does not always return a value +File "test_method_call.php", line 12, characters 26-34: +But got `Something` diff --git a/hphp/hack/test/typecheck/reactive/test_mutable_assign.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_assign.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_mutable_assign.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_assign.php diff --git a/hphp/hack/test/typecheck/reactive/test_mutable_assign.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_assign.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_mutable_assign.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_assign.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_mutable_return9.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_return9.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_mutable_return9.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_return9.php diff --git a/hphp/hack/test/typecheck/reactive/test_mutable_return9.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_return9.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_mutable_return9.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_mutable_return9.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled1.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled1.php similarity index 100% copy from hphp/hack/test/typecheck/reactive/test_rx_enabled1.php copy to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled1.php diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled2.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled2.php diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled5.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled5.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled5.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled5.php diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled5.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled5.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled5.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled5.php.exp diff --git a/hphp/hack/test/typecheck/reactive/test_rx_enabled1.php b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php similarity index 89% rename from hphp/hack/test/typecheck/reactive/test_rx_enabled1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php index abef3319ea8..0af27ab6563 100644 --- a/hphp/hack/test/typecheck/reactive/test_rx_enabled1.php +++ b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php @@ -1,5 +1,6 @@ > function f(): int { if (HH\Rx\IS_ENABLED) { return rx(); @@ -8,7 +9,7 @@ function f(): int { } } -<<__Rx>> +<<__Pure>> function rx() { return 1; } diff --git a/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php.exp new file mode 100644 index 00000000000..fd10a6a5046 --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/only_first_error/test_rx_enabled6.php.exp @@ -0,0 +1,2 @@ +File "test_rx_enabled6.php", line 13, characters 10-11: +Was expecting a return type hint (Typing[4030]) diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable1.php b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable1.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable1.php rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable1.php diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable1.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable1.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable1.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable1.php.exp diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable2.php b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable2.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable2.php rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable2.php diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable2.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable2.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable2.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable2.php.exp diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable3.php b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable3.php similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable3.php rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable3.php diff --git a/hphp/hack/test/typecheck/reactive/vararg_mutable3.php.exp b/hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable3.php.exp similarity index 100% rename from hphp/hack/test/typecheck/reactive/vararg_mutable3.php.exp rename to hphp/hack/test/typecheck/reactive/only_first_error/vararg_mutable3.php.exp diff --git a/hphp/hack/test/typecheck/reactive/reassign_in_foreach3.php.like_types.exp b/hphp/hack/test/typecheck/reactive/reassign_in_foreach3.php.like_types.exp new file mode 100644 index 00000000000..c558f7ab2c0 --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/reassign_in_foreach3.php.like_types.exp @@ -0,0 +1,4 @@ +File "reassign_in_foreach3.php", line 11, characters 30-31: +Cannot assign immutable value to mutably-owned local variable. Mutability flavor of local variable cannot be altered. (Typing[4294]) +File "reassign_in_foreach3.php", line 11, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) diff --git a/hphp/hack/test/typecheck/reactive/reassign_in_foreach4.php.like_types.exp b/hphp/hack/test/typecheck/reactive/reassign_in_foreach4.php.like_types.exp new file mode 100644 index 00000000000..43776b6fb46 --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/reassign_in_foreach4.php.like_types.exp @@ -0,0 +1,4 @@ +File "reassign_in_foreach4.php", line 11, characters 24-25: +Cannot assign immutable value to mutably-owned local variable. Mutability flavor of local variable cannot be altered. (Typing[4294]) +File "reassign_in_foreach4.php", line 11, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) diff --git a/hphp/hack/test/typecheck/reactive/reassign_in_foreach5.php.like_types.exp b/hphp/hack/test/typecheck/reactive/reassign_in_foreach5.php.like_types.exp new file mode 100644 index 00000000000..d7373ff56fd --- /dev/null +++ b/hphp/hack/test/typecheck/reactive/reassign_in_foreach5.php.like_types.exp @@ -0,0 +1,4 @@ +File "reassign_in_foreach5.php", line 11, characters 24-25: +Cannot assign immutable value to mutably-owned local variable. Mutability flavor of local variable cannot be altered. (Typing[4294]) +File "reassign_in_foreach5.php", line 11, characters 12-13: +Cannot traverse over non-reactive traversable in reactive code. (Typing[4267]) -- 2.11.4.GIT