From 62a447f45a7ab29a60b038922a3ec8c395a87c28 Mon Sep 17 00:00:00 2001 From: Catherine Gasnier Date: Mon, 7 Mar 2022 05:20:41 -0800 Subject: [PATCH] improve error message and position for "bad decl override" error Summary: See the fixed test cases below for examples of the change. Now that we have wired down AST positions of a class' immediate parents, we can have a more precise position for some of the errors produced by Typing_extends. In this diff, the primary position for "bad decl override" error is now on the implemented interface instead of the class implementing it. Differential Revision: D34583307 fbshipit-source-id: 24aff361e542cb2f70f2a8d8dd041a58f52dee39 --- hphp/hack/src/errors/typing_error.ml | 29 +++++++++------------- hphp/hack/src/errors/typing_error.mli | 3 +-- hphp/hack/src/typing/typing_extends.ml | 1 - ...ass_const_change_type.php.incr_no_old_decls.exp | 3 +-- ...s_class_const_change_type.php.incr_old_decl.exp | 3 +-- ...ass_class_const_change_type.php.saved_state.exp | 3 +-- .../abstract_parent_override_interface.php.exp | 6 ++--- ...t_redeclare_abstract_class_constant_bad.php.exp | 6 ++--- .../redeclare_no_default.php.exp | 26 +++++++++---------- .../redeclare_no_default2.php.exp | 26 +++++++++---------- .../test/typecheck/ambiguous_constructor.php.exp | 6 ++--- .../ambiguous_declaration_concrete.php.exp | 6 ++--- .../ambiguous_declaration_one_synthetic_1.php.exp | 6 ++--- .../ambiguous_declaration_one_synthetic_2.php.exp | 6 ++--- .../ambiguous_declaration_one_synthetic_3.php.exp | 6 ++--- .../ambiguous_distant_constructor.php.exp | 6 ++--- .../test/typecheck/ambiguous_inheritance.php.exp | 10 +++----- hphp/hack/test/typecheck/bad_decl_override.php.exp | 14 +++++------ .../check_override_synthesized_traits.php.exp | 6 ++--- .../this_as/trait_method_lookup_02.php.exp | 10 +++----- ...e_redeclare_concrete_class_constant_bad.php.exp | 6 ++--- .../redeclare_from_const_in_trait.php.exp | 6 ++--- ...declare_from_const_in_trait.php.legacy_decl.exp | 6 ++--- .../redeclare_from_const_via_trait.php.exp | 6 ++--- ...eclare_from_const_via_trait.php.legacy_decl.exp | 6 ++--- .../redeclare_to_const_in_trait.php.exp | 6 ++--- ...redeclare_to_const_in_trait.php.legacy_decl.exp | 6 ++--- .../abstract/abstract_inherits_from_traits.php.exp | 6 ++--- ...stract_inherits_from_traits.php.legacy_decl.exp | 6 ++--- .../multiple_concrete_defs_from_traits_bad.php.exp | 24 ++++++------------ ...ncrete_defs_from_traits_bad.php.legacy_decl.exp | 24 ++++++------------ ...multiple_concrete_defs_from_traits_good.php.exp | 12 +++------ ...crete_defs_from_traits_good.php.legacy_decl.exp | 12 +++------ .../const_in_interface_overridden1_bad.php.exp | 6 ++--- .../const_in_interface_overridden2_bad.php.exp | 6 ++--- .../const_in_interface_overridden3_bad.php.exp | 6 ++--- .../typecheck/construct/lateinit/lateinit8.php.exp | 6 ++--- .../lateinit/lateinit8.php.legacy_decl.exp | 6 ++--- .../test/typecheck/dynamic_calls/override3.php.exp | 6 ++--- .../test/typecheck/enum_class/abstract.bad.php.exp | 6 ++--- .../enum_class/typing.extends5.bad.php.exp | 20 ++++++--------- .../typing.extends5.bad.php.legacy_decl.exp | 20 ++++++--------- .../typing.multiple.extends.vshape.bad.php.exp | 12 +++------ .../test/typecheck/ifc/ifc_inheritance7.php.exp | 10 +++----- .../test/typecheck/interface_constructor.php.exp | 6 ++--- .../typecheck/interface_override_parent.php.exp | 6 ++--- .../typecheck/interface_override_trait.php.exp | 6 ++--- .../typecheck/interface_override_trait1.php.exp | 6 ++--- ...valid_override_of_req_extends_typeconst.php.exp | 18 ++++++-------- .../typecheck/multiple_concrete_consts.php.exp | 6 ++--- .../multiple_traits_require_implements.php.exp | 6 ++--- ...e_traits_require_implements.php.legacy_decl.exp | 6 ++--- .../typecheck/override/override_final2.php.exp | 12 +++------ .../typecheck/override/override_final4.php.exp | 14 +++++------ .../typecheck/override/override_final7.php.exp | 6 ++--- .../test/typecheck/parent_override_trait2.php.exp | 6 ++--- .../stricter_consts/class_interface_1.bad.php.exp | 6 ++--- .../stricter_consts/class_trait_1.bad.php.exp | 6 ++--- .../stricter_consts/interface_class_1.bad.php.exp | 6 ++--- .../interface_class_interface_1.bad.php.exp | 6 ++--- .../interface_class_interface_class_1.bad.php.exp | 6 ++--- .../interface_interface_1.bad.php.exp | 6 ++--- .../stricter_consts/interface_trait_2.bad.php.exp | 6 ++--- ...trait_class_interface_trait_class_1.bad.php.exp | 6 ++--- .../trait_class_trait_class_1.bad.php.exp | 6 ++--- .../stricter_consts/trait_trait_1.bad.php.exp | 6 ++--- .../stricter_consts/trait_typeconst_1.bad.php.exp | 6 ++--- hphp/hack/test/typecheck/tconst/interface2.php.exp | 28 +++++++++------------ hphp/hack/test/typecheck/test_consts13.php.exp | 14 +++++------ hphp/hack/test/typecheck/test_consts14.php.exp | 12 +++------ .../test/typecheck/trait_ambiguous_multi.php.exp | 6 ++--- .../test/typecheck/trait_override_final.php.exp | 6 ++--- hphp/hack/test/typecheck/trait_priv_multi.php.exp | 6 ++--- .../typeconsts/interface_override_parent.php.exp | 6 ++--- .../typeconsts/interface_override_parent1.php.exp | 6 ++--- .../typeconsts/interface_override_trait.php.exp | 6 ++--- .../typeconsts/interface_override_trait2.php.exp | 6 ++--- .../typecheck/typeconsts/linearization.php.exp | 6 ++--- 78 files changed, 245 insertions(+), 433 deletions(-) rewrite hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default.php.exp (75%) rewrite hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default2.php.exp (75%) rewrite hphp/hack/test/typecheck/bad_decl_override.php.exp (61%) rewrite hphp/hack/test/typecheck/invalid_override_of_req_extends_typeconst.php.exp (87%) rewrite hphp/hack/test/typecheck/override/override_final4.php.exp (60%) rewrite hphp/hack/test/typecheck/tconst/interface2.php.exp (94%) rewrite hphp/hack/test/typecheck/test_consts13.php.exp (61%) diff --git a/hphp/hack/src/errors/typing_error.ml b/hphp/hack/src/errors/typing_error.ml index e81e0d30141..8f2651d3979 100644 --- a/hphp/hack/src/errors/typing_error.ml +++ b/hphp/hack/src/errors/typing_error.ml @@ -1537,7 +1537,6 @@ module Primary = struct | Bad_decl_override of { pos: Pos.t; name: string; - parent_pos: Pos.t; parent_name: string; } | Explain_where_constraint of { @@ -2517,19 +2516,15 @@ module Primary = struct in (Error_code.BadConditionalSupportDynamic, claim, lazy [], []) - let bad_decl_override pos name parent_pos parent_name = + let bad_decl_override name parent_pos parent_name = ( Error_code.BadDeclOverride, lazy - ( pos, - "Class " - ^ (Render.strip_ns name |> Markdown_lite.md_codify) - ^ " does not correctly implement all required members " ), - lazy - [ - ( Pos_or_decl.of_raw_pos parent_pos, - "Some members are incompatible with those declared in type " - ^ (Render.strip_ns parent_name |> Markdown_lite.md_codify) ); - ], + ( parent_pos, + Printf.sprintf + "Some members in class %s are incompatible with those declared in type %s" + (Render.strip_ns name |> Markdown_lite.md_codify) + (Render.strip_ns parent_name |> Markdown_lite.md_codify) ), + lazy [], [] ) let explain_where_constraint pos decl_pos in_class = @@ -5247,8 +5242,8 @@ module Primary = struct | Bad_conditional_support_dynamic { pos; child; parent; ty_name; self_ty_name } -> bad_conditional_support_dynamic pos child parent ty_name self_ty_name - | Bad_decl_override { pos; name; parent_pos; parent_name } -> - bad_decl_override pos name parent_pos parent_name + | Bad_decl_override { pos; name; parent_name } -> + bad_decl_override name pos parent_name | Explain_where_constraint { pos; decl_pos; in_class } -> explain_where_constraint pos decl_pos in_class | Explain_constraint pos -> explain_constraint pos @@ -7624,7 +7619,7 @@ and Reasons_callback : sig t val bad_decl_override : - Pos.t -> name:string -> parent_pos:Pos.t -> parent_name:string -> t + name:string -> parent_pos:Pos.t -> parent_name:string -> t val explain_where_constraint : Pos.t -> in_class:bool -> decl_pos:Pos_or_decl.t -> t @@ -7913,11 +7908,11 @@ end = struct @@ Primary.Bad_conditional_support_dynamic { pos; child; parent; ty_name; self_ty_name } - let bad_decl_override pos ~name ~parent_pos ~parent_name = + let bad_decl_override ~name ~parent_pos ~parent_name = append_incoming_reasons @@ retain_quickfixes @@ of_primary_error - @@ Primary.Bad_decl_override { pos; name; parent_pos; parent_name } + @@ Primary.Bad_decl_override { name; pos = parent_pos; parent_name } let explain_where_constraint pos ~in_class ~decl_pos = append_incoming_reasons diff --git a/hphp/hack/src/errors/typing_error.mli b/hphp/hack/src/errors/typing_error.mli index e137be3fd66..145021b3076 100644 --- a/hphp/hack/src/errors/typing_error.mli +++ b/hphp/hack/src/errors/typing_error.mli @@ -422,7 +422,6 @@ module Primary : sig | Bad_decl_override of { pos: Pos.t; name: string; - parent_pos: Pos.t; parent_name: string; } | Explain_where_constraint of { @@ -1803,7 +1802,7 @@ module Reasons_callback : sig t val bad_decl_override : - Pos.t -> name:string -> parent_pos:Pos.t -> parent_name:string -> t + name:string -> parent_pos:Pos.t -> parent_name:string -> t val explain_where_constraint : Pos.t -> in_class:bool -> decl_pos:Pos_or_decl.t -> t diff --git a/hphp/hack/src/typing/typing_extends.ml b/hphp/hack/src/typing/typing_extends.ml index 14763cde5e4..0b3a665ebe6 100644 --- a/hphp/hack/src/typing/typing_extends.ml +++ b/hphp/hack/src/typing/typing_extends.ml @@ -1538,7 +1538,6 @@ let check_implements_extends_uses Typing_error.Reasons_callback.bad_enum_decl name_pos else Typing_error.Reasons_callback.bad_decl_override - name_pos ~name:(Cls.name class_) ~parent_pos:parent_name_pos ~parent_name diff --git a/hphp/hack/test/fanout/class_class_const_change_type.php.incr_no_old_decls.exp b/hphp/hack/test/fanout/class_class_const_change_type.php.incr_no_old_decls.exp index 3f186bb48f3..90ea3b96df8 100644 --- a/hphp/hack/test/fanout/class_class_const_change_type.php.incr_no_old_decls.exp +++ b/hphp/hack/test/fanout/class_class_const_change_type.php.incr_no_old_decls.exp @@ -1,8 +1,7 @@ === base errors === No errors! === changed errors === -b.php:2:7,7: Class `B` does not correctly implement all required members (Typing[4348]) - b.php:2:17,17: Some members are incompatible with those declared in type `A` +b.php:2:17,17: Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) a.php:3:9,12: Expected `bool` b.php:3:9,11: But got `int` use.php:4:12,15: Invalid argument (Typing[4110]) diff --git a/hphp/hack/test/fanout/class_class_const_change_type.php.incr_old_decl.exp b/hphp/hack/test/fanout/class_class_const_change_type.php.incr_old_decl.exp index 14c506357aa..0bcd0c2c537 100644 --- a/hphp/hack/test/fanout/class_class_const_change_type.php.incr_old_decl.exp +++ b/hphp/hack/test/fanout/class_class_const_change_type.php.incr_old_decl.exp @@ -1,8 +1,7 @@ === base errors === No errors! === changed errors === -b.php:2:7,7: Class `B` does not correctly implement all required members (Typing[4348]) - b.php:2:17,17: Some members are incompatible with those declared in type `A` +b.php:2:17,17: Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) a.php:3:9,12: Expected `bool` b.php:3:9,11: But got `int` use.php:4:12,15: Invalid argument (Typing[4110]) diff --git a/hphp/hack/test/fanout/class_class_const_change_type.php.saved_state.exp b/hphp/hack/test/fanout/class_class_const_change_type.php.saved_state.exp index 3f186bb48f3..90ea3b96df8 100644 --- a/hphp/hack/test/fanout/class_class_const_change_type.php.saved_state.exp +++ b/hphp/hack/test/fanout/class_class_const_change_type.php.saved_state.exp @@ -1,8 +1,7 @@ === base errors === No errors! === changed errors === -b.php:2:7,7: Class `B` does not correctly implement all required members (Typing[4348]) - b.php:2:17,17: Some members are incompatible with those declared in type `A` +b.php:2:17,17: Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) a.php:3:9,12: Expected `bool` b.php:3:9,11: But got `int` use.php:4:12,15: Invalid argument (Typing[4110]) diff --git a/hphp/hack/test/typecheck/abstract_parent_override_interface.php.exp b/hphp/hack/test/typecheck/abstract_parent_override_interface.php.exp index ef61c850068..9ecce666e9e 100644 --- a/hphp/hack/test/typecheck/abstract_parent_override_interface.php.exp +++ b/hphp/hack/test/typecheck/abstract_parent_override_interface.php.exp @@ -1,7 +1,5 @@ -File "abstract_parent_override_interface.php", line 11, characters 16-16: -Class `A` does not correctly implement all required members (Typing[4374]) - File "abstract_parent_override_interface.php", line 11, characters 26-26: - Some members are incompatible with those declared in type `B` +File "abstract_parent_override_interface.php", line 11, characters 26-26: +Some members in class `A` are incompatible with those declared in type `B` (Typing[4374]) File "abstract_parent_override_interface.php", line 4, characters 9-11: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "abstract_parent_override_interface.php", line 8, characters 9-11: diff --git a/hphp/hack/test/typecheck/abstract_redeclare_abstract_class_constant_bad.php.exp b/hphp/hack/test/typecheck/abstract_redeclare_abstract_class_constant_bad.php.exp index acbe4f4818e..5600e1ae66d 100644 --- a/hphp/hack/test/typecheck/abstract_redeclare_abstract_class_constant_bad.php.exp +++ b/hphp/hack/test/typecheck/abstract_redeclare_abstract_class_constant_bad.php.exp @@ -1,7 +1,5 @@ -File "abstract_redeclare_abstract_class_constant_bad.php--file2.php", line 3, characters 16-16: -Class `B` does not correctly implement all required members (Typing[4348]) - File "abstract_redeclare_abstract_class_constant_bad.php--file2.php", line 3, characters 26-26: - Some members are incompatible with those declared in type `A` +File "abstract_redeclare_abstract_class_constant_bad.php--file2.php", line 3, characters 26-26: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) File "abstract_redeclare_abstract_class_constant_bad.php--file1.php", line 5, characters 18-20: Expected `int` File "abstract_redeclare_abstract_class_constant_bad.php--file2.php", line 4, characters 18-25: diff --git a/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default.php.exp b/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default.php.exp dissimilarity index 75% index f51a5749dab..184ff2cd87e 100644 --- a/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default.php.exp +++ b/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default.php.exp @@ -1,14 +1,12 @@ -File "redeclare_no_default.php", line 8, characters 23-23: -This abstract type constant does not have a default type (Typing[4320]) -File "redeclare_no_default.php", line 4, characters 23-23: -It cannot override an abstract type constant that has a default type -File "redeclare_no_default.php", line 11, characters 13-13: -Class `C` does not correctly implement all required members (Typing[4340]) -File "redeclare_no_default.php", line 11, characters 23-23: -Some members are incompatible with those declared in type `B` -File "redeclare_no_default.php", line 4, characters 23-23: -Unable to satisfy constraint on this type constant -File "redeclare_no_default.php", line 8, characters 28-33: -Expected `string` -File "redeclare_no_default.php", line 4, characters 36-43: -But got `arraykey` +File "redeclare_no_default.php", line 8, characters 23-23: +This abstract type constant does not have a default type (Typing[4320]) + File "redeclare_no_default.php", line 4, characters 23-23: + It cannot override an abstract type constant that has a default type +File "redeclare_no_default.php", line 11, characters 23-23: +Some members in class `C` are incompatible with those declared in type `B` (Typing[4340]) + File "redeclare_no_default.php", line 4, characters 23-23: + Unable to satisfy constraint on this type constant + File "redeclare_no_default.php", line 8, characters 28-33: + Expected `string` + File "redeclare_no_default.php", line 4, characters 36-43: + But got `arraykey` diff --git a/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default2.php.exp b/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default2.php.exp dissimilarity index 75% index e5dbc376688..3f855f9badd 100644 --- a/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default2.php.exp +++ b/hphp/hack/test/typecheck/abstract_typeconsts/redeclare_no_default2.php.exp @@ -1,14 +1,12 @@ -File "redeclare_no_default2.php", line 8, characters 23-23: -This abstract type constant does not have a default type (Typing[4320]) -File "redeclare_no_default2.php", line 4, characters 23-23: -It cannot override an abstract type constant that has a default type -File "redeclare_no_default2.php", line 11, characters 16-16: -Class `C` does not correctly implement all required members (Typing[4340]) -File "redeclare_no_default2.php", line 11, characters 26-26: -Some members are incompatible with those declared in type `B` -File "redeclare_no_default2.php", line 4, characters 23-23: -The constraint on this type constant is inconsistent with its parent -File "redeclare_no_default2.php", line 8, characters 28-33: -Expected `string` -File "redeclare_no_default2.php", line 4, characters 28-32: -But got `mixed` +File "redeclare_no_default2.php", line 8, characters 23-23: +This abstract type constant does not have a default type (Typing[4320]) + File "redeclare_no_default2.php", line 4, characters 23-23: + It cannot override an abstract type constant that has a default type +File "redeclare_no_default2.php", line 11, characters 26-26: +Some members in class `C` are incompatible with those declared in type `B` (Typing[4340]) + File "redeclare_no_default2.php", line 4, characters 23-23: + The constraint on this type constant is inconsistent with its parent + File "redeclare_no_default2.php", line 8, characters 28-33: + Expected `string` + File "redeclare_no_default2.php", line 4, characters 28-32: + But got `mixed` diff --git a/hphp/hack/test/typecheck/ambiguous_constructor.php.exp b/hphp/hack/test/typecheck/ambiguous_constructor.php.exp index fe2a736b369..0460827d7cb 100644 --- a/hphp/hack/test/typecheck/ambiguous_constructor.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_constructor.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_constructor.php", line 9, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "ambiguous_constructor.php", line 10, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "ambiguous_constructor.php", line 10, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "ambiguous_constructor.php", line 6, characters 19-29: The method `__construct` is not compatible with the overridden method File "ambiguous_constructor.php", line 6, characters 19-29: diff --git a/hphp/hack/test/typecheck/ambiguous_declaration_concrete.php.exp b/hphp/hack/test/typecheck/ambiguous_declaration_concrete.php.exp index cdaabd1d737..967e69e8fb5 100644 --- a/hphp/hack/test/typecheck/ambiguous_declaration_concrete.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_declaration_concrete.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_declaration_concrete.php", line 9, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "ambiguous_declaration_concrete.php", line 10, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "ambiguous_declaration_concrete.php", line 10, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "ambiguous_declaration_concrete.php", line 6, characters 19-21: The method `foo` is not compatible with the overridden method File "ambiguous_declaration_concrete.php", line 6, characters 19-21: diff --git a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_1.php.exp b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_1.php.exp index 57355f2dd1d..a279a336a82 100644 --- a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_1.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_1.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_declaration_one_synthetic_1.php", line 19, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4341]) - File "ambiguous_declaration_one_synthetic_1.php", line 20, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "ambiguous_declaration_one_synthetic_1.php", line 20, characters 11-12: +Some members in class `B` are incompatible with those declared in type `T2` (Typing[4341]) File "ambiguous_declaration_one_synthetic_1.php", line 16, characters 19-21: The method `foo` is not compatible with the overridden method File "ambiguous_declaration_one_synthetic_1.php", line 16, characters 19-21: diff --git a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_2.php.exp b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_2.php.exp index 23d9edd5f86..bfc335a7c87 100644 --- a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_2.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_2.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_declaration_one_synthetic_2.php", line 19, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4341]) - File "ambiguous_declaration_one_synthetic_2.php", line 20, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "ambiguous_declaration_one_synthetic_2.php", line 20, characters 7-8: +Some members in class `B` are incompatible with those declared in type `T1` (Typing[4341]) File "ambiguous_declaration_one_synthetic_2.php", line 16, characters 19-21: The method `foo` is not compatible with the overridden method File "ambiguous_declaration_one_synthetic_2.php", line 16, characters 19-21: diff --git a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_3.php.exp b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_3.php.exp index 366856aee4b..469e31fd3a9 100644 --- a/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_3.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_declaration_one_synthetic_3.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_declaration_one_synthetic_3.php", line 19, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4341]) - File "ambiguous_declaration_one_synthetic_3.php", line 20, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "ambiguous_declaration_one_synthetic_3.php", line 20, characters 7-8: +Some members in class `B` are incompatible with those declared in type `T1` (Typing[4341]) File "ambiguous_declaration_one_synthetic_3.php", line 12, characters 19-21: The method `foo` is not compatible with the overridden method File "ambiguous_declaration_one_synthetic_3.php", line 12, characters 19-21: diff --git a/hphp/hack/test/typecheck/ambiguous_distant_constructor.php.exp b/hphp/hack/test/typecheck/ambiguous_distant_constructor.php.exp index 67c17c3a06b..6e7883651ae 100644 --- a/hphp/hack/test/typecheck/ambiguous_distant_constructor.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_distant_constructor.php.exp @@ -1,7 +1,5 @@ -File "ambiguous_distant_constructor.php", line 12, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "ambiguous_distant_constructor.php", line 13, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "ambiguous_distant_constructor.php", line 13, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "ambiguous_distant_constructor.php", line 9, characters 19-29: The method `__construct` is not compatible with the overridden method File "ambiguous_distant_constructor.php", line 9, characters 19-29: diff --git a/hphp/hack/test/typecheck/ambiguous_inheritance.php.exp b/hphp/hack/test/typecheck/ambiguous_inheritance.php.exp index 8b06c3f54e6..562e6176e64 100644 --- a/hphp/hack/test/typecheck/ambiguous_inheritance.php.exp +++ b/hphp/hack/test/typecheck/ambiguous_inheritance.php.exp @@ -1,13 +1,9 @@ -File "ambiguous_inheritance.php", line 11, characters 16-16: -Class `C` does not correctly implement all required members (Typing[4341]) - File "ambiguous_inheritance.php", line 11, characters 33-34: - Some members are incompatible with those declared in type `I2` +File "ambiguous_inheritance.php", line 11, characters 33-34: +Some members in class `C` are incompatible with those declared in type `I2` (Typing[4341]) File "ambiguous_inheritance.php", line 4, characters 19-21: The method `foo` is not compatible with the overridden method - File "ambiguous_inheritance.php", line 11, characters 16-16: - Class `C` does not correctly implement all required members File "ambiguous_inheritance.php", line 11, characters 33-34: - Some members are incompatible with those declared in type `I2` + Some members in class `C` are incompatible with those declared in type `I2` File "ambiguous_inheritance.php", line 4, characters 19-21: The method `foo` is not compatible with the overridden method File "ambiguous_inheritance.php", line 8, characters 26-28: diff --git a/hphp/hack/test/typecheck/bad_decl_override.php.exp b/hphp/hack/test/typecheck/bad_decl_override.php.exp dissimilarity index 61% index 8914710ab46..2cc6818221e 100644 --- a/hphp/hack/test/typecheck/bad_decl_override.php.exp +++ b/hphp/hack/test/typecheck/bad_decl_override.php.exp @@ -1,8 +1,6 @@ -File "bad_decl_override.php--file2.php", line 3, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4348]) - File "bad_decl_override.php--file2.php", line 3, characters 20-20: - Some members are incompatible with those declared in type `I` - File "bad_decl_override.php--file1.php", line 7, characters 22-22: - Expected `E` - File "bad_decl_override.php--file2.php", line 4, characters 13-15: - But got `int` +File "bad_decl_override.php--file2.php", line 3, characters 20-20: +Some members in class `C` are incompatible with those declared in type `I` (Typing[4348]) + File "bad_decl_override.php--file1.php", line 7, characters 22-22: + Expected `E` + File "bad_decl_override.php--file2.php", line 4, characters 13-15: + But got `int` diff --git a/hphp/hack/test/typecheck/check_override_synthesized_traits.php.exp b/hphp/hack/test/typecheck/check_override_synthesized_traits.php.exp index 68d2aabdf32..07e1f00c77b 100644 --- a/hphp/hack/test/typecheck/check_override_synthesized_traits.php.exp +++ b/hphp/hack/test/typecheck/check_override_synthesized_traits.php.exp @@ -1,7 +1,5 @@ -File "check_override_synthesized_traits.php", line 24, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4341]) - File "check_override_synthesized_traits.php", line 24, characters 17-17: - Some members are incompatible with those declared in type `A` +File "check_override_synthesized_traits.php", line 24, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4341]) File "check_override_synthesized_traits.php", line 17, characters 19-21: The method `foo` is not compatible with the overridden method File "check_override_synthesized_traits.php", line 17, characters 23-28: diff --git a/hphp/hack/test/typecheck/class_level_where_clauses/this_as/trait_method_lookup_02.php.exp b/hphp/hack/test/typecheck/class_level_where_clauses/this_as/trait_method_lookup_02.php.exp index fcfa6f78c85..62984fe4f21 100644 --- a/hphp/hack/test/typecheck/class_level_where_clauses/this_as/trait_method_lookup_02.php.exp +++ b/hphp/hack/test/typecheck/class_level_where_clauses/this_as/trait_method_lookup_02.php.exp @@ -1,13 +1,9 @@ -File "trait_method_lookup_02.php", line 29, characters 16-16: -Class `D` does not correctly implement all required members (Typing[4341]) - File "trait_method_lookup_02.php", line 29, characters 26-26: - Some members are incompatible with those declared in type `C` +File "trait_method_lookup_02.php", line 29, characters 26-26: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4341]) File "trait_method_lookup_02.php", line 18, characters 26-28: The method `foo` is not compatible with the overridden method - File "trait_method_lookup_02.php", line 29, characters 16-16: - Class `D` does not correctly implement all required members File "trait_method_lookup_02.php", line 29, characters 26-26: - Some members are incompatible with those declared in type `C` + Some members in class `D` are incompatible with those declared in type `C` File "trait_method_lookup_02.php", line 18, characters 26-28: The method `foo` is not compatible with the overridden method File "trait_method_lookup_02.php", line 14, characters 42-44: diff --git a/hphp/hack/test/typecheck/concrete_redeclare_concrete_class_constant_bad.php.exp b/hphp/hack/test/typecheck/concrete_redeclare_concrete_class_constant_bad.php.exp index 5dbb30e73b9..fadf0d07f74 100644 --- a/hphp/hack/test/typecheck/concrete_redeclare_concrete_class_constant_bad.php.exp +++ b/hphp/hack/test/typecheck/concrete_redeclare_concrete_class_constant_bad.php.exp @@ -1,7 +1,5 @@ -File "concrete_redeclare_concrete_class_constant_bad.php--file2.hack", line 1, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4348]) - File "concrete_redeclare_concrete_class_constant_bad.php--file2.hack", line 1, characters 17-17: - Some members are incompatible with those declared in type `A` +File "concrete_redeclare_concrete_class_constant_bad.php--file2.hack", line 1, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) File "concrete_redeclare_concrete_class_constant_bad.php--file1.php", line 5, characters 9-11: Expected `int` File "concrete_redeclare_concrete_class_constant_bad.php--file2.hack", line 2, characters 9-16: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.exp index 8d0cb28ed9e..aa7eb8a9683 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.exp @@ -1,7 +1,5 @@ -File "redeclare_from_const_in_trait.php", line 6, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_from_const_in_trait.php", line 6, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_from_const_in_trait.php", line 6, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_from_const_in_trait.php", line 5, characters 22-23: This property is not `__Const` File "redeclare_from_const_in_trait.php", line 4, characters 37-38: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.legacy_decl.exp index 5106d799890..00e75a85909 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_in_trait.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "redeclare_from_const_in_trait.php", line 6, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_from_const_in_trait.php", line 6, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_from_const_in_trait.php", line 6, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_from_const_in_trait.php", line 5, characters 18-20: This property is not `__Const` File "redeclare_from_const_in_trait.php", line 4, characters 33-35: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.exp index eb336513ab4..9659a50d571 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.exp @@ -1,7 +1,5 @@ -File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_from_const_via_trait.php--file2.php", line 4, characters 14-15: This property is not `__Const` File "redeclare_from_const_via_trait.php--file1.php", line 4, characters 29-30: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.legacy_decl.exp index b367ff529fc..0d3fe8f2c8f 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_from_const_via_trait.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_from_const_via_trait.php--file3.php", line 3, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_from_const_via_trait.php--file2.php", line 4, characters 10-12: This property is not `__Const` File "redeclare_from_const_via_trait.php--file1.php", line 4, characters 25-27: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.exp index 48cfeb323b2..e4452e27b21 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.exp @@ -1,7 +1,5 @@ -File "redeclare_to_const_in_trait.php", line 6, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_to_const_in_trait.php", line 6, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_to_const_in_trait.php", line 6, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_to_const_in_trait.php", line 5, characters 34-35: This property is `__Const` File "redeclare_to_const_in_trait.php", line 4, characters 25-26: diff --git a/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.legacy_decl.exp index b6c73e4736d..9e333ccad50 100644 --- a/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/redeclare_to_const_in_trait.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "redeclare_to_const_in_trait.php", line 6, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4204]) - File "redeclare_to_const_in_trait.php", line 6, characters 17-17: - Some members are incompatible with those declared in type `C` +File "redeclare_to_const_in_trait.php", line 6, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4204]) File "redeclare_to_const_in_trait.php", line 5, characters 30-32: This property is `__Const` File "redeclare_to_const_in_trait.php", line 4, characters 21-23: diff --git a/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.exp b/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.exp index 9cce71fec85..135a9047186 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.exp @@ -1,7 +1,5 @@ -File "abstract_inherits_from_traits.php", line 12, characters 16-16: -Class `C` does not correctly implement all required members (Typing[4341]) - File "abstract_inherits_from_traits.php", line 13, characters 7-7: - Some members are incompatible with those declared in type `A` +File "abstract_inherits_from_traits.php", line 13, characters 7-7: +Some members in class `C` are incompatible with those declared in type `A` (Typing[4341]) File "abstract_inherits_from_traits.php", line 9, characters 42-43: The property `$p` has the wrong type File "abstract_inherits_from_traits.php", line 5, characters 38-40: diff --git a/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.legacy_decl.exp index 1a00a53b9d9..dbe75bbe886 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/abstract/abstract_inherits_from_traits.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "abstract_inherits_from_traits.php", line 12, characters 16-16: -Class `C` does not correctly implement all required members (Typing[4341]) - File "abstract_inherits_from_traits.php", line 13, characters 7-7: - Some members are incompatible with those declared in type `A` +File "abstract_inherits_from_traits.php", line 13, characters 7-7: +Some members in class `C` are incompatible with those declared in type `A` (Typing[4341]) File "abstract_inherits_from_traits.php", line 9, characters 38-40: The property `$p` has the wrong type File "abstract_inherits_from_traits.php", line 5, characters 38-40: diff --git a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.exp b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.exp index 92d6ab8643e..a422b86f977 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.exp @@ -1,17 +1,13 @@ -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 5, characters 29-31: Expected `int` File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: But got `num` -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: @@ -22,20 +18,16 @@ Class `C` does not correctly implement all required members (Typing[4341]) `T1`'s definition is here. File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: Redeclare `$p` in `C` with a compatible signature. -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 9, characters 29-33: Expected `float` File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: But got `num` -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 33-34: diff --git a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.legacy_decl.exp index 7e3c5fed2d3..c7bd5f5772e 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_bad.php.legacy_decl.exp @@ -1,17 +1,13 @@ -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 5, characters 29-31: Expected `int` File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: But got `num` -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: @@ -22,20 +18,16 @@ Class `C` does not correctly implement all required members (Typing[4341]) `T1`'s definition is here. File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: Redeclare `$p` in `C` with a compatible signature. -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 9, characters 29-33: Expected `float` File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: But got `num` -File "multiple_concrete_defs_from_traits_bad.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_bad.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_bad.php", line 13, characters 29-31: diff --git a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.exp b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.exp index b270008e216..9ac7f0d8bf0 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.exp @@ -1,7 +1,5 @@ -File "multiple_concrete_defs_from_traits_good.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_good.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_good.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_good.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_good.php", line 13, characters 33-34: @@ -12,10 +10,8 @@ Class `C` does not correctly implement all required members (Typing[4341]) `T1`'s definition is here. File "multiple_concrete_defs_from_traits_good.php", line 13, characters 33-34: Redeclare `$p` in `C` with a compatible signature. -File "multiple_concrete_defs_from_traits_good.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_good.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_good.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_good.php", line 13, characters 33-34: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_good.php", line 13, characters 33-34: diff --git a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.legacy_decl.exp b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.legacy_decl.exp index 55e1df2d03c..29355fd3d54 100644 --- a/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/const_attribute/static/multiple_concrete_defs_from_traits_good.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "multiple_concrete_defs_from_traits_good.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_good.php", line 17, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_concrete_defs_from_traits_good.php", line 17, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_concrete_defs_from_traits_good.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_good.php", line 13, characters 29-31: @@ -12,10 +10,8 @@ Class `C` does not correctly implement all required members (Typing[4341]) `T1`'s definition is here. File "multiple_concrete_defs_from_traits_good.php", line 13, characters 29-31: Redeclare `$p` in `C` with a compatible signature. -File "multiple_concrete_defs_from_traits_good.php", line 16, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "multiple_concrete_defs_from_traits_good.php", line 17, characters 11-12: - Some members are incompatible with those declared in type `T2` +File "multiple_concrete_defs_from_traits_good.php", line 17, characters 11-12: +Some members in class `C` are incompatible with those declared in type `T2` (Typing[4341]) File "multiple_concrete_defs_from_traits_good.php", line 13, characters 29-31: The property `$p` has the wrong type File "multiple_concrete_defs_from_traits_good.php", line 13, characters 29-31: diff --git a/hphp/hack/test/typecheck/const_in_interface_overridden1_bad.php.exp b/hphp/hack/test/typecheck/const_in_interface_overridden1_bad.php.exp index 9d168a8abe1..ac359af87ba 100644 --- a/hphp/hack/test/typecheck/const_in_interface_overridden1_bad.php.exp +++ b/hphp/hack/test/typecheck/const_in_interface_overridden1_bad.php.exp @@ -1,7 +1,5 @@ -File "const_in_interface_overridden1_bad.php", line 6, characters 16-16: -Class `C` does not correctly implement all required members (Typing[4374]) - File "const_in_interface_overridden1_bad.php", line 6, characters 29-29: - Some members are incompatible with those declared in type `I` +File "const_in_interface_overridden1_bad.php", line 6, characters 29-29: +Some members in class `C` are incompatible with those declared in type `I` (Typing[4374]) File "const_in_interface_overridden1_bad.php", line 7, characters 12-21: Non-abstract constants defined in an interface cannot be overridden when implementing or extending that interface. File "const_in_interface_overridden1_bad.php", line 4, characters 13-22: diff --git a/hphp/hack/test/typecheck/const_in_interface_overridden2_bad.php.exp b/hphp/hack/test/typecheck/const_in_interface_overridden2_bad.php.exp index d1d438cb27a..d8145faada2 100644 --- a/hphp/hack/test/typecheck/const_in_interface_overridden2_bad.php.exp +++ b/hphp/hack/test/typecheck/const_in_interface_overridden2_bad.php.exp @@ -1,7 +1,5 @@ -File "const_in_interface_overridden2_bad.php", line 6, characters 11-12: -Class `I2` does not correctly implement all required members (Typing[4374]) - File "const_in_interface_overridden2_bad.php", line 6, characters 22-23: - Some members are incompatible with those declared in type `I1` +File "const_in_interface_overridden2_bad.php", line 6, characters 22-23: +Some members in class `I2` are incompatible with those declared in type `I1` (Typing[4374]) File "const_in_interface_overridden2_bad.php", line 7, characters 13-22: Non-abstract constants defined in an interface cannot be overridden when implementing or extending that interface. File "const_in_interface_overridden2_bad.php", line 4, characters 13-22: diff --git a/hphp/hack/test/typecheck/const_in_interface_overridden3_bad.php.exp b/hphp/hack/test/typecheck/const_in_interface_overridden3_bad.php.exp index 83ea8e57976..9d09875b008 100644 --- a/hphp/hack/test/typecheck/const_in_interface_overridden3_bad.php.exp +++ b/hphp/hack/test/typecheck/const_in_interface_overridden3_bad.php.exp @@ -1,7 +1,5 @@ -File "const_in_interface_overridden3_bad.php", line 11, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4374]) - File "const_in_interface_overridden3_bad.php", line 11, characters 20-21: - Some members are incompatible with those declared in type `I2` +File "const_in_interface_overridden3_bad.php", line 11, characters 20-21: +Some members in class `C` are incompatible with those declared in type `I2` (Typing[4374]) File "const_in_interface_overridden3_bad.php", line 12, characters 12-21: Non-abstract constants defined in an interface cannot be overridden when implementing or extending that interface. File "const_in_interface_overridden3_bad.php", line 4, characters 13-22: diff --git a/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.exp b/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.exp index d89f2a2beab..4255df7259f 100644 --- a/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.exp +++ b/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.exp @@ -1,7 +1,5 @@ -File "lateinit8.php--file3.php", line 3, characters 13-13: -Class `D` does not correctly implement all required members (Typing[4282]) - File "lateinit8.php--file3.php", line 3, characters 23-23: - Some members are incompatible with those declared in type `C` +File "lateinit8.php--file3.php", line 3, characters 23-23: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4282]) File "lateinit8.php--file1.php", line 4, characters 14-17: Redeclared properties must be consistently declared `__LateInit` File "lateinit8.php--file2.php", line 5, characters 14-17: diff --git a/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.legacy_decl.exp b/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.legacy_decl.exp index ce5a3409fd9..d8b2d866d53 100644 --- a/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/construct/lateinit/lateinit8.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "lateinit8.php--file3.php", line 3, characters 13-13: -Class `D` does not correctly implement all required members (Typing[4282]) - File "lateinit8.php--file3.php", line 3, characters 23-23: - Some members are incompatible with those declared in type `C` +File "lateinit8.php--file3.php", line 3, characters 23-23: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4282]) File "lateinit8.php--file1.php", line 4, characters 10-12: Redeclared properties must be consistently declared `__LateInit` File "lateinit8.php--file2.php", line 5, characters 10-12: diff --git a/hphp/hack/test/typecheck/dynamic_calls/override3.php.exp b/hphp/hack/test/typecheck/dynamic_calls/override3.php.exp index 9e174f97e88..5c659f71dde 100644 --- a/hphp/hack/test/typecheck/dynamic_calls/override3.php.exp +++ b/hphp/hack/test/typecheck/dynamic_calls/override3.php.exp @@ -1,7 +1,5 @@ -File "override3.php", line 13, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4341]) - File "override3.php", line 13, characters 17-17: - Some members are incompatible with those declared in type `C` +File "override3.php", line 13, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4341]) File "override3.php", line 10, characters 19-21: The method `foo` is not compatible with the overridden method File "override3.php", line 5, characters 19-21: diff --git a/hphp/hack/test/typecheck/enum_class/abstract.bad.php.exp b/hphp/hack/test/typecheck/enum_class/abstract.bad.php.exp index 40c5d6bec05..079ede13f5c 100644 --- a/hphp/hack/test/typecheck/enum_class/abstract.bad.php.exp +++ b/hphp/hack/test/typecheck/enum_class/abstract.bad.php.exp @@ -1,7 +1,5 @@ -File "abstract.bad.php", line 16, characters 12-12: -Class `F` does not correctly implement all required members (Typing[4348]) - File "abstract.bad.php", line 16, characters 26-26: - Some members are incompatible with those declared in type `E` +File "abstract.bad.php", line 16, characters 26-26: +Some members in class `F` are incompatible with those declared in type `E` (Typing[4348]) File "abstract.bad.php", line 11, characters 12-12: Expected `C` File "abstract.bad.php", line 17, characters 3-3: diff --git a/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.exp b/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.exp index c5f1a12c9bc..2838d9bad6b 100644 --- a/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.exp +++ b/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.exp @@ -1,24 +1,20 @@ File "typing.extends5.bad.php", line 25, characters 12-12: -Class `F` does not correctly implement all required members (Typing[4341]) +Enum classes can only extend other enum classes. (Typing[4115]) File "typing.extends5.bad.php", line 25, characters 29-38: - Some members are incompatible with those declared in type `NormalEnum` + This is an enum. +File "typing.extends5.bad.php", line 25, characters 29-38: +Enum F includes enum NormalEnum but their base types are incompatible (Typing[4388]) +File "typing.extends5.bad.php", line 25, characters 29-38: +Some members in class `F` are incompatible with those declared in type `NormalEnum` (Typing[4341]) File "BuiltinEnum.hhi", line 119, characters 32-40: The method `getValues` is not compatible with the overridden method File "BuiltinEnum.hhi", line 33, characters 43-44: Expected a function that requires the capability set {} File "BuiltinEnum.hhi", line 119, characters 44-54: But got a function that requires the capability WriteProperty -File "typing.extends5.bad.php", line 25, characters 12-12: -Class `F` does not correctly implement all required members (Typing[4070]) - File "typing.extends5.bad.php", line 25, characters 29-38: - Some members are incompatible with those declared in type `NormalEnum` +File "typing.extends5.bad.php", line 25, characters 29-38: +Some members in class `F` are incompatible with those declared in type `NormalEnum` (Typing[4070]) File "BuiltinEnum.hhi", line 119, characters 32-40: You cannot override this method File "BuiltinEnum.hhi", line 33, characters 32-40: It was declared as final -File "typing.extends5.bad.php", line 25, characters 12-12: -Enum classes can only extend other enum classes. (Typing[4115]) - File "typing.extends5.bad.php", line 25, characters 29-38: - This is an enum. -File "typing.extends5.bad.php", line 25, characters 29-38: -Enum F includes enum NormalEnum but their base types are incompatible (Typing[4388]) diff --git a/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.legacy_decl.exp b/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.legacy_decl.exp index c5f1a12c9bc..2838d9bad6b 100644 --- a/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/enum_class/typing.extends5.bad.php.legacy_decl.exp @@ -1,24 +1,20 @@ File "typing.extends5.bad.php", line 25, characters 12-12: -Class `F` does not correctly implement all required members (Typing[4341]) +Enum classes can only extend other enum classes. (Typing[4115]) File "typing.extends5.bad.php", line 25, characters 29-38: - Some members are incompatible with those declared in type `NormalEnum` + This is an enum. +File "typing.extends5.bad.php", line 25, characters 29-38: +Enum F includes enum NormalEnum but their base types are incompatible (Typing[4388]) +File "typing.extends5.bad.php", line 25, characters 29-38: +Some members in class `F` are incompatible with those declared in type `NormalEnum` (Typing[4341]) File "BuiltinEnum.hhi", line 119, characters 32-40: The method `getValues` is not compatible with the overridden method File "BuiltinEnum.hhi", line 33, characters 43-44: Expected a function that requires the capability set {} File "BuiltinEnum.hhi", line 119, characters 44-54: But got a function that requires the capability WriteProperty -File "typing.extends5.bad.php", line 25, characters 12-12: -Class `F` does not correctly implement all required members (Typing[4070]) - File "typing.extends5.bad.php", line 25, characters 29-38: - Some members are incompatible with those declared in type `NormalEnum` +File "typing.extends5.bad.php", line 25, characters 29-38: +Some members in class `F` are incompatible with those declared in type `NormalEnum` (Typing[4070]) File "BuiltinEnum.hhi", line 119, characters 32-40: You cannot override this method File "BuiltinEnum.hhi", line 33, characters 32-40: It was declared as final -File "typing.extends5.bad.php", line 25, characters 12-12: -Enum classes can only extend other enum classes. (Typing[4115]) - File "typing.extends5.bad.php", line 25, characters 29-38: - This is an enum. -File "typing.extends5.bad.php", line 25, characters 29-38: -Enum F includes enum NormalEnum but their base types are incompatible (Typing[4388]) diff --git a/hphp/hack/test/typecheck/enum_class/typing.multiple.extends.vshape.bad.php.exp b/hphp/hack/test/typecheck/enum_class/typing.multiple.extends.vshape.bad.php.exp index bc928072822..75d5a179f9a 100644 --- a/hphp/hack/test/typecheck/enum_class/typing.multiple.extends.vshape.bad.php.exp +++ b/hphp/hack/test/typecheck/enum_class/typing.multiple.extends.vshape.bad.php.exp @@ -2,10 +2,8 @@ File "typing.multiple.extends.vshape.bad.php", line 17, characters 35-36: V0 cannot re-inherit constant B from F0 (Typing[4389]) File "typing.multiple.extends.vshape.bad.php", line 17, characters 12-13: because it already inherited it via E0 -File "typing.multiple.extends.vshape.bad.php", line 28, characters 12-13: -Class `V1` does not correctly implement all required members (Typing[4348]) - File "typing.multiple.extends.vshape.bad.php", line 28, characters 31-32: - Some members are incompatible with those declared in type `E0` +File "typing.multiple.extends.vshape.bad.php", line 28, characters 31-32: +Some members in class `V1` are incompatible with those declared in type `E0` (Typing[4348]) File "typing.multiple.extends.vshape.bad.php", line 7, characters 4-9: Expected `string` File "typing.multiple.extends.vshape.bad.php", line 22, characters 4-6: @@ -22,10 +20,8 @@ File "typing.multiple.extends.vshape.bad.php", line 51, characters 11-11: V3 cannot re-declare constant C (Typing[4389]) File "typing.multiple.extends.vshape.bad.php", line 50, characters 12-13: because it already inherited it via F3 -File "typing.multiple.extends.vshape.bad.php", line 57, characters 12-13: -Class `V4` does not correctly implement all required members (Typing[4348]) - File "typing.multiple.extends.vshape.bad.php", line 57, characters 35-36: - Some members are incompatible with those declared in type `F3` +File "typing.multiple.extends.vshape.bad.php", line 57, characters 35-36: +Some members in class `V4` are incompatible with those declared in type `F3` (Typing[4348]) File "typing.multiple.extends.vshape.bad.php", line 44, characters 4-9: Expected `string` File "typing.multiple.extends.vshape.bad.php", line 58, characters 4-6: diff --git a/hphp/hack/test/typecheck/ifc/ifc_inheritance7.php.exp b/hphp/hack/test/typecheck/ifc/ifc_inheritance7.php.exp index b1c3d7b87fa..6eb0d0118f6 100644 --- a/hphp/hack/test/typecheck/ifc/ifc_inheritance7.php.exp +++ b/hphp/hack/test/typecheck/ifc/ifc_inheritance7.php.exp @@ -1,13 +1,9 @@ -File "ifc_inheritance7.php", line 18, characters 7-7: -Class `M` does not correctly implement all required members (Typing[4341]) - File "ifc_inheritance7.php", line 18, characters 17-17: - Some members are incompatible with those declared in type `N` +File "ifc_inheritance7.php", line 18, characters 17-17: +Some members in class `M` are incompatible with those declared in type `N` (Typing[4341]) File "ifc_inheritance7.php", line 7, characters 19-21: The method `foo` is not compatible with the overridden method - File "ifc_inheritance7.php", line 18, characters 7-7: - Class `M` does not correctly implement all required members File "ifc_inheritance7.php", line 18, characters 17-17: - Some members are incompatible with those declared in type `N` + Some members in class `M` are incompatible with those declared in type `N` File "ifc_inheritance7.php", line 7, characters 19-21: The method `foo` is not compatible with the overridden method File "ifc_inheritance7.php", line 7, characters 25-26: diff --git a/hphp/hack/test/typecheck/interface_constructor.php.exp b/hphp/hack/test/typecheck/interface_constructor.php.exp index 4f09e7b34dd..6c724cf9a1b 100644 --- a/hphp/hack/test/typecheck/interface_constructor.php.exp +++ b/hphp/hack/test/typecheck/interface_constructor.php.exp @@ -1,7 +1,5 @@ -File "interface_constructor.php--file2.php", line 2, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4056]) - File "interface_constructor.php--file2.php", line 2, characters 20-22: - Some members are incompatible with those declared in type `Foo` +File "interface_constructor.php--file2.php", line 2, characters 20-22: +Some members in class `A` are incompatible with those declared in type `Foo` (Typing[4056]) File "interface_constructor.php--file1.php", line 13, characters 19-29: The constructor is not implemented File "interface_constructor.php--file2.php", line 2, characters 20-22: diff --git a/hphp/hack/test/typecheck/interface_override_parent.php.exp b/hphp/hack/test/typecheck/interface_override_parent.php.exp index f2c9af0d437..22f9cdad143 100644 --- a/hphp/hack/test/typecheck/interface_override_parent.php.exp +++ b/hphp/hack/test/typecheck/interface_override_parent.php.exp @@ -1,7 +1,5 @@ -File "interface_override_parent.php", line 11, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_override_parent.php", line 11, characters 17-17: - Some members are incompatible with those declared in type `B` +File "interface_override_parent.php", line 11, characters 17-17: +Some members in class `A` are incompatible with those declared in type `B` (Typing[4374]) File "interface_override_parent.php", line 4, characters 9-12: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_override_parent.php", line 8, characters 9-12: diff --git a/hphp/hack/test/typecheck/interface_override_trait.php.exp b/hphp/hack/test/typecheck/interface_override_trait.php.exp index 7498231a1e2..bf3de7c48b6 100644 --- a/hphp/hack/test/typecheck/interface_override_trait.php.exp +++ b/hphp/hack/test/typecheck/interface_override_trait.php.exp @@ -1,7 +1,5 @@ -File "interface_override_trait.php", line 11, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_override_trait.php", line 12, characters 7-7: - Some members are incompatible with those declared in type `T` +File "interface_override_trait.php", line 12, characters 7-7: +Some members in class `A` are incompatible with those declared in type `T` (Typing[4374]) File "interface_override_trait.php", line 8, characters 9-12: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_override_trait.php", line 4, characters 9-12: diff --git a/hphp/hack/test/typecheck/interface_override_trait1.php.exp b/hphp/hack/test/typecheck/interface_override_trait1.php.exp index 044bf1853ec..cbf540845cd 100644 --- a/hphp/hack/test/typecheck/interface_override_trait1.php.exp +++ b/hphp/hack/test/typecheck/interface_override_trait1.php.exp @@ -1,7 +1,5 @@ -File "interface_override_trait1.php", line 15, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_override_trait1.php", line 16, characters 7-7: - Some members are incompatible with those declared in type `T` +File "interface_override_trait1.php", line 16, characters 7-7: +Some members in class `A` are incompatible with those declared in type `T` (Typing[4374]) File "interface_override_trait1.php", line 12, characters 9-12: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_override_trait1.php", line 4, characters 9-12: diff --git a/hphp/hack/test/typecheck/invalid_override_of_req_extends_typeconst.php.exp b/hphp/hack/test/typecheck/invalid_override_of_req_extends_typeconst.php.exp dissimilarity index 87% index f8371ee3ef9..c3b1e4e9960 100644 --- a/hphp/hack/test/typecheck/invalid_override_of_req_extends_typeconst.php.exp +++ b/hphp/hack/test/typecheck/invalid_override_of_req_extends_typeconst.php.exp @@ -1,10 +1,8 @@ -File "invalid_override_of_req_extends_typeconst.php", line 18, characters 11-11: -Class `J` does not correctly implement all required members (Typing[4340]) -File "invalid_override_of_req_extends_typeconst.php", line 18, characters 21-21: -Some members are incompatible with those declared in type `I` -File "invalid_override_of_req_extends_typeconst.php", line 4, characters 14-14: -Unable to satisfy constraint on this type constant -File "invalid_override_of_req_extends_typeconst.php", line 9, characters 28-30: -Expected `num` -File "invalid_override_of_req_extends_typeconst.php", line 4, characters 18-24: -But got `nonnull` +File "invalid_override_of_req_extends_typeconst.php", line 18, characters 21-21: +Some members in class `J` are incompatible with those declared in type `I` (Typing[4340]) + File "invalid_override_of_req_extends_typeconst.php", line 4, characters 14-14: + Unable to satisfy constraint on this type constant + File "invalid_override_of_req_extends_typeconst.php", line 9, characters 28-30: + Expected `num` + File "invalid_override_of_req_extends_typeconst.php", line 4, characters 18-24: + But got `nonnull` diff --git a/hphp/hack/test/typecheck/multiple_concrete_consts.php.exp b/hphp/hack/test/typecheck/multiple_concrete_consts.php.exp index ce4bccd15a0..af2fac271ef 100644 --- a/hphp/hack/test/typecheck/multiple_concrete_consts.php.exp +++ b/hphp/hack/test/typecheck/multiple_concrete_consts.php.exp @@ -1,7 +1,5 @@ -File "multiple_concrete_consts.php", line 8, characters 11-11: -Class `I` does not correctly implement all required members (Typing[4374]) - File "multiple_concrete_consts.php", line 8, characters 25-26: - Some members are incompatible with those declared in type `I2` +File "multiple_concrete_consts.php", line 8, characters 25-26: +Some members in class `I` are incompatible with those declared in type `I2` (Typing[4374]) File "multiple_concrete_consts.php", line 3, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "multiple_concrete_consts.php", line 6, characters 13-13: diff --git a/hphp/hack/test/typecheck/multiple_traits_require_implements.php.exp b/hphp/hack/test/typecheck/multiple_traits_require_implements.php.exp index e5b0a57b23c..a7d3fbac279 100644 --- a/hphp/hack/test/typecheck/multiple_traits_require_implements.php.exp +++ b/hphp/hack/test/typecheck/multiple_traits_require_implements.php.exp @@ -1,7 +1,5 @@ -File "multiple_traits_require_implements.php", line 19, characters 7-7: -Class `T` does not correctly implement all required members (Typing[4341]) - File "multiple_traits_require_implements.php", line 20, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_traits_require_implements.php", line 20, characters 7-8: +Some members in class `T` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_traits_require_implements.php", line 8, characters 19-21: The method `foo` is not compatible with the overridden method File "multiple_traits_require_implements.php", line 8, characters 23-28: diff --git a/hphp/hack/test/typecheck/multiple_traits_require_implements.php.legacy_decl.exp b/hphp/hack/test/typecheck/multiple_traits_require_implements.php.legacy_decl.exp index e5b0a57b23c..a7d3fbac279 100644 --- a/hphp/hack/test/typecheck/multiple_traits_require_implements.php.legacy_decl.exp +++ b/hphp/hack/test/typecheck/multiple_traits_require_implements.php.legacy_decl.exp @@ -1,7 +1,5 @@ -File "multiple_traits_require_implements.php", line 19, characters 7-7: -Class `T` does not correctly implement all required members (Typing[4341]) - File "multiple_traits_require_implements.php", line 20, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "multiple_traits_require_implements.php", line 20, characters 7-8: +Some members in class `T` are incompatible with those declared in type `T1` (Typing[4341]) File "multiple_traits_require_implements.php", line 8, characters 19-21: The method `foo` is not compatible with the overridden method File "multiple_traits_require_implements.php", line 8, characters 23-28: diff --git a/hphp/hack/test/typecheck/override/override_final2.php.exp b/hphp/hack/test/typecheck/override/override_final2.php.exp index 70fc3ddb8e8..b5247f45d20 100644 --- a/hphp/hack/test/typecheck/override/override_final2.php.exp +++ b/hphp/hack/test/typecheck/override/override_final2.php.exp @@ -1,15 +1,11 @@ -File "override_final2.php", line 16, characters 7-9: -Class `Bar` does not correctly implement all required members (Typing[4113]) - File "override_final2.php", line 16, characters 19-21: - Some members are incompatible with those declared in type `Foo` +File "override_final2.php", line 16, characters 19-21: +Some members in class `Bar` are incompatible with those declared in type `Foo` (Typing[4113]) File "override_final2.php", line 17, characters 22-32: This member visibility is: `protected` File "override_final2.php", line 13, characters 25-35: `public` was expected -File "override_final2.php", line 16, characters 7-9: -Class `Bar` does not correctly implement all required members (Typing[4070]) - File "override_final2.php", line 16, characters 19-21: - Some members are incompatible with those declared in type `Foo` +File "override_final2.php", line 16, characters 19-21: +Some members in class `Bar` are incompatible with those declared in type `Foo` (Typing[4070]) File "override_final2.php", line 17, characters 22-32: You cannot override this method File "override_final2.php", line 13, characters 25-35: diff --git a/hphp/hack/test/typecheck/override/override_final4.php.exp b/hphp/hack/test/typecheck/override/override_final4.php.exp dissimilarity index 60% index fe91675f5bc..d7b7f6cdee7 100644 --- a/hphp/hack/test/typecheck/override/override_final4.php.exp +++ b/hphp/hack/test/typecheck/override/override_final4.php.exp @@ -1,8 +1,6 @@ -File "override_final4.php", line 20, characters 7-16: -Class `ChildClass` does not correctly implement all required members (Typing[4070]) - File "override_final4.php", line 20, characters 26-36: - Some members are incompatible with those declared in type `ParentClass` - File "override_final4.php", line 17, characters 25-25: - You cannot override this method - File "override_final4.php", line 13, characters 25-25: - It was declared as final +File "override_final4.php", line 20, characters 26-36: +Some members in class `ChildClass` are incompatible with those declared in type `ParentClass` (Typing[4070]) + File "override_final4.php", line 17, characters 25-25: + You cannot override this method + File "override_final4.php", line 13, characters 25-25: + It was declared as final diff --git a/hphp/hack/test/typecheck/override/override_final7.php.exp b/hphp/hack/test/typecheck/override/override_final7.php.exp index 9fc704dbdbd..879efea5561 100644 --- a/hphp/hack/test/typecheck/override/override_final7.php.exp +++ b/hphp/hack/test/typecheck/override/override_final7.php.exp @@ -1,7 +1,5 @@ -File "override_final7.php", line 26, characters 13-14: -Class `C1` does not correctly implement all required members (Typing[4070]) - File "override_final7.php", line 26, characters 24-25: - Some members are incompatible with those declared in type `P2` +File "override_final7.php", line 26, characters 24-25: +Some members in class `C1` are incompatible with those declared in type `P2` (Typing[4070]) File "override_final7.php", line 21, characters 25-37: You cannot override this method File "override_final7.php", line 13, characters 25-37: diff --git a/hphp/hack/test/typecheck/parent_override_trait2.php.exp b/hphp/hack/test/typecheck/parent_override_trait2.php.exp index c4860d58280..85f8f69107e 100644 --- a/hphp/hack/test/typecheck/parent_override_trait2.php.exp +++ b/hphp/hack/test/typecheck/parent_override_trait2.php.exp @@ -1,7 +1,5 @@ -File "parent_override_trait2.php", line 16, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "parent_override_trait2.php", line 16, characters 17-17: - Some members are incompatible with those declared in type `B` +File "parent_override_trait2.php", line 16, characters 17-17: +Some members in class `A` are incompatible with those declared in type `B` (Typing[4374]) File "parent_override_trait2.php", line 7, characters 16-16: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "parent_override_trait2.php", line 4, characters 16-16: diff --git a/hphp/hack/test/typecheck/stricter_consts/class_interface_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/class_interface_1.bad.php.exp index d6c9a5709a7..1f3df091015 100644 --- a/hphp/hack/test/typecheck/stricter_consts/class_interface_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/class_interface_1.bad.php.exp @@ -1,7 +1,5 @@ -File "class_interface_1.bad.php", line 12, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4374]) - File "class_interface_1.bad.php", line 12, characters 17-17: - Some members are incompatible with those declared in type `C` +File "class_interface_1.bad.php", line 12, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4374]) File "class_interface_1.bad.php", line 9, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "class_interface_1.bad.php", line 5, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/class_trait_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/class_trait_1.bad.php.exp index 749ad028cb5..cdff9be5134 100644 --- a/hphp/hack/test/typecheck/stricter_consts/class_trait_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/class_trait_1.bad.php.exp @@ -1,7 +1,5 @@ -File "class_trait_1.bad.php", line 14, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4374]) - File "class_trait_1.bad.php", line 14, characters 17-17: - Some members are incompatible with those declared in type `C` +File "class_trait_1.bad.php", line 14, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4374]) File "class_trait_1.bad.php", line 11, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "class_trait_1.bad.php", line 7, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_class_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_class_1.bad.php.exp index d41f2a3d09d..afa4cf55bd1 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_class_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_class_1.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_class_1.bad.php", line 8, characters 13-13: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_class_1.bad.php", line 8, characters 26-26: - Some members are incompatible with those declared in type `I` +File "interface_class_1.bad.php", line 8, characters 26-26: +Some members in class `A` are incompatible with those declared in type `I` (Typing[4374]) File "interface_class_1.bad.php", line 9, characters 13-13: Non-abstract constants defined in an interface cannot be overridden when implementing or extending that interface. File "interface_class_1.bad.php", line 5, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_1.bad.php.exp index 8851f468ec6..34cc54d37a9 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_1.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_class_interface_1.bad.php", line 14, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4374]) - File "interface_class_interface_1.bad.php", line 14, characters 17-17: - Some members are incompatible with those declared in type `C` +File "interface_class_interface_1.bad.php", line 14, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4374]) File "interface_class_interface_1.bad.php", line 11, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_class_interface_1.bad.php", line 5, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_class_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_class_1.bad.php.exp index efb54c5779a..421f53f31de 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_class_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_class_interface_class_1.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_class_interface_class_1.bad.php", line 14, characters 13-13: -Class `B` does not correctly implement all required members (Typing[4374]) - File "interface_class_interface_class_1.bad.php", line 14, characters 23-23: - Some members are incompatible with those declared in type `A` +File "interface_class_interface_class_1.bad.php", line 14, characters 23-23: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "interface_class_interface_class_1.bad.php", line 9, characters 16-21: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_class_interface_class_1.bad.php", line 5, characters 15-20: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_interface_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_interface_1.bad.php.exp index 12d0afce261..8174636df6e 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_interface_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_interface_1.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_interface_1.bad.php", line 14, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_interface_1.bad.php", line 14, characters 20-21: - Some members are incompatible with those declared in type `IA` +File "interface_interface_1.bad.php", line 14, characters 20-21: +Some members in class `A` are incompatible with those declared in type `IA` (Typing[4374]) File "interface_interface_1.bad.php", line 11, characters 16-21: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_interface_1.bad.php", line 7, characters 15-20: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_trait_2.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_trait_2.bad.php.exp index 3101ab1c406..3f77913cc95 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_trait_2.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_trait_2.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_trait_2.bad.php", line 12, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4374]) - File "interface_trait_2.bad.php", line 13, characters 7-7: - Some members are incompatible with those declared in type `T` +File "interface_trait_2.bad.php", line 13, characters 7-7: +Some members in class `C` are incompatible with those declared in type `T` (Typing[4374]) File "interface_trait_2.bad.php", line 5, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_trait_2.bad.php", line 9, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/interface_trait_class_interface_trait_class_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/interface_trait_class_interface_trait_class_1.bad.php.exp index 345158010ea..ee76ea4e187 100644 --- a/hphp/hack/test/typecheck/stricter_consts/interface_trait_class_interface_trait_class_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/interface_trait_class_interface_trait_class_1.bad.php.exp @@ -1,7 +1,5 @@ -File "interface_trait_class_interface_trait_class_1.bad.php", line 19, characters 13-13: -Class `B` does not correctly implement all required members (Typing[4374]) - File "interface_trait_class_interface_trait_class_1.bad.php", line 19, characters 23-23: - Some members are incompatible with those declared in type `A` +File "interface_trait_class_interface_trait_class_1.bad.php", line 19, characters 23-23: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "interface_trait_class_interface_trait_class_1.bad.php", line 11, characters 16-21: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "interface_trait_class_interface_trait_class_1.bad.php", line 5, characters 15-20: diff --git a/hphp/hack/test/typecheck/stricter_consts/trait_class_trait_class_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/trait_class_trait_class_1.bad.php.exp index 959be6a790d..c623e109296 100644 --- a/hphp/hack/test/typecheck/stricter_consts/trait_class_trait_class_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/trait_class_trait_class_1.bad.php.exp @@ -1,7 +1,5 @@ -File "trait_class_trait_class_1.bad.php", line 16, characters 13-13: -Class `B` does not correctly implement all required members (Typing[4374]) - File "trait_class_trait_class_1.bad.php", line 16, characters 23-23: - Some members are incompatible with those declared in type `A` +File "trait_class_trait_class_1.bad.php", line 16, characters 23-23: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "trait_class_trait_class_1.bad.php", line 9, characters 16-21: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "trait_class_trait_class_1.bad.php", line 5, characters 15-20: diff --git a/hphp/hack/test/typecheck/stricter_consts/trait_trait_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/trait_trait_1.bad.php.exp index fc13a33c028..17309e99636 100644 --- a/hphp/hack/test/typecheck/stricter_consts/trait_trait_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/trait_trait_1.bad.php.exp @@ -1,7 +1,5 @@ -File "trait_trait_1.bad.php", line 14, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4374]) - File "trait_trait_1.bad.php", line 15, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "trait_trait_1.bad.php", line 15, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4374]) File "trait_trait_1.bad.php", line 11, characters 13-13: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "trait_trait_1.bad.php", line 7, characters 13-13: diff --git a/hphp/hack/test/typecheck/stricter_consts/trait_typeconst_1.bad.php.exp b/hphp/hack/test/typecheck/stricter_consts/trait_typeconst_1.bad.php.exp index 1b42d2e4ec4..9ed7b1faac9 100644 --- a/hphp/hack/test/typecheck/stricter_consts/trait_typeconst_1.bad.php.exp +++ b/hphp/hack/test/typecheck/stricter_consts/trait_typeconst_1.bad.php.exp @@ -1,7 +1,5 @@ -File "trait_typeconst_1.bad.php", line 15, characters 7-7: -Class `D` does not correctly implement all required members (Typing[4340]) - File "trait_typeconst_1.bad.php", line 15, characters 17-17: - Some members are incompatible with those declared in type `C` +File "trait_typeconst_1.bad.php", line 15, characters 17-17: +Some members in class `D` are incompatible with those declared in type `C` (Typing[4340]) File "trait_typeconst_1.bad.php", line 12, characters 14-15: The assigned type of this type constant is inconsistent with its parent File "trait_typeconst_1.bad.php", line 8, characters 19-21: diff --git a/hphp/hack/test/typecheck/tconst/interface2.php.exp b/hphp/hack/test/typecheck/tconst/interface2.php.exp dissimilarity index 94% index 6c1276c0c83..750f7dbfa92 100644 --- a/hphp/hack/test/typecheck/tconst/interface2.php.exp +++ b/hphp/hack/test/typecheck/tconst/interface2.php.exp @@ -1,16 +1,12 @@ -File "interface2.php", line 10, characters 11-11: -Class `I` does not correctly implement all required members (Typing[4340]) -File "interface2.php", line 10, characters 25-26: -Some members are incompatible with those declared in type `I2` -File "interface2.php", line 10, characters 11-11: -Class `I` does not correctly implement all required members -File "interface2.php", line 10, characters 25-26: -Some members are incompatible with those declared in type `I2` -File "interface2.php", line 4, characters 23-23: -The constraint on this type constant is inconsistent with its parent -File "interface2.php", line 7, characters 28-35: -Expected `arraykey` -File "interface2.php", line 4, characters 28-32: -But got `mixed` -File "interface2.php", line 4, characters 23-23: -This declaration was inherited from an object of type `I1`. Redeclare this member in `I` with a compatible signature. +File "interface2.php", line 10, characters 25-26: +Some members in class `I` are incompatible with those declared in type `I2` (Typing[4340]) + File "interface2.php", line 10, characters 25-26: + Some members in class `I` are incompatible with those declared in type `I2` + File "interface2.php", line 4, characters 23-23: + The constraint on this type constant is inconsistent with its parent + File "interface2.php", line 7, characters 28-35: + Expected `arraykey` + File "interface2.php", line 4, characters 28-32: + But got `mixed` + File "interface2.php", line 4, characters 23-23: + This declaration was inherited from an object of type `I1`. Redeclare this member in `I` with a compatible signature. diff --git a/hphp/hack/test/typecheck/test_consts13.php.exp b/hphp/hack/test/typecheck/test_consts13.php.exp dissimilarity index 61% index 59795a0fe5d..60c077a1955 100644 --- a/hphp/hack/test/typecheck/test_consts13.php.exp +++ b/hphp/hack/test/typecheck/test_consts13.php.exp @@ -1,8 +1,6 @@ -File "test_consts13.php--file2.php", line 2, characters 7-8: -Class `C2` does not correctly implement all required members (Typing[4348]) - File "test_consts13.php--file2.php", line 2, characters 18-19: - Some members are incompatible with those declared in type `C1` - File "test_consts13.php--file1.php", line 4, characters 18-20: - Expected `int` - File "test_consts13.php--file2.php", line 3, characters 9-14: - But got `string` +File "test_consts13.php--file2.php", line 2, characters 18-19: +Some members in class `C2` are incompatible with those declared in type `C1` (Typing[4348]) + File "test_consts13.php--file1.php", line 4, characters 18-20: + Expected `int` + File "test_consts13.php--file2.php", line 3, characters 9-14: + But got `string` diff --git a/hphp/hack/test/typecheck/test_consts14.php.exp b/hphp/hack/test/typecheck/test_consts14.php.exp index bb822ebd120..60850b24c82 100644 --- a/hphp/hack/test/typecheck/test_consts14.php.exp +++ b/hphp/hack/test/typecheck/test_consts14.php.exp @@ -1,15 +1,11 @@ -File "test_consts14.php", line 15, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4348]) - File "test_consts14.php", line 15, characters 17-17: - Some members are incompatible with those declared in type `A` +File "test_consts14.php", line 15, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4348]) File "test_consts14.php", line 4, characters 9-11: Expected `int` File "test_consts14.php", line 10, characters 9-14: But got `string` -File "test_consts14.php", line 15, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4374]) - File "test_consts14.php", line 15, characters 17-17: - Some members are incompatible with those declared in type `A` +File "test_consts14.php", line 15, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "test_consts14.php", line 10, characters 16-17: Non-abstract constants defined in an interface or trait cannot conflict with other inherited constants. File "test_consts14.php", line 4, characters 13-14: diff --git a/hphp/hack/test/typecheck/trait_ambiguous_multi.php.exp b/hphp/hack/test/typecheck/trait_ambiguous_multi.php.exp index 5b8b7808432..9ea93daaacc 100644 --- a/hphp/hack/test/typecheck/trait_ambiguous_multi.php.exp +++ b/hphp/hack/test/typecheck/trait_ambiguous_multi.php.exp @@ -1,7 +1,5 @@ -File "trait_ambiguous_multi.php--file3.php", line 2, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4341]) - File "trait_ambiguous_multi.php--file3.php", line 3, characters 7-8: - Some members are incompatible with those declared in type `T1` +File "trait_ambiguous_multi.php--file3.php", line 3, characters 7-8: +Some members in class `C` are incompatible with those declared in type `T1` (Typing[4341]) File "trait_ambiguous_multi.php--file2.php", line 3, characters 19-19: The method `f` is not compatible with the overridden method File "trait_ambiguous_multi.php--file2.php", line 3, characters 19-19: diff --git a/hphp/hack/test/typecheck/trait_override_final.php.exp b/hphp/hack/test/typecheck/trait_override_final.php.exp index 696fc538e6c..39f7a493f9a 100644 --- a/hphp/hack/test/typecheck/trait_override_final.php.exp +++ b/hphp/hack/test/typecheck/trait_override_final.php.exp @@ -1,7 +1,5 @@ -File "trait_override_final.php--file3.php", line 3, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4070]) - File "trait_override_final.php--file3.php", line 3, characters 17-17: - Some members are incompatible with those declared in type `B` +File "trait_override_final.php--file3.php", line 3, characters 17-17: +Some members in class `C` are incompatible with those declared in type `B` (Typing[4070]) File "trait_override_final.php--file1.php", line 4, characters 25-25: You cannot override this method File "trait_override_final.php--file2.php", line 4, characters 25-25: diff --git a/hphp/hack/test/typecheck/trait_priv_multi.php.exp b/hphp/hack/test/typecheck/trait_priv_multi.php.exp index bbd3ab9fa92..1798f87d4b2 100644 --- a/hphp/hack/test/typecheck/trait_priv_multi.php.exp +++ b/hphp/hack/test/typecheck/trait_priv_multi.php.exp @@ -1,7 +1,5 @@ -File "trait_priv_multi.php--file3.php", line 2, characters 7-7: -Class `C` does not correctly implement all required members (Typing[4113]) - File "trait_priv_multi.php--file3.php", line 2, characters 17-17: - Some members are incompatible with those declared in type `B` +File "trait_priv_multi.php--file3.php", line 2, characters 17-17: +Some members in class `C` are incompatible with those declared in type `B` (Typing[4113]) File "trait_priv_multi.php--file1.php", line 5, characters 20-20: This member visibility is: `private` File "trait_priv_multi.php--file2.php", line 3, characters 19-19: diff --git a/hphp/hack/test/typecheck/typeconsts/interface_override_parent.php.exp b/hphp/hack/test/typecheck/typeconsts/interface_override_parent.php.exp index 4f14d41645b..d6cd5bc55cf 100644 --- a/hphp/hack/test/typecheck/typeconsts/interface_override_parent.php.exp +++ b/hphp/hack/test/typecheck/typeconsts/interface_override_parent.php.exp @@ -1,7 +1,5 @@ -File "interface_override_parent.php", line 11, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4374]) - File "interface_override_parent.php", line 11, characters 17-17: - Some members are incompatible with those declared in type `A` +File "interface_override_parent.php", line 11, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "interface_override_parent.php", line 8, characters 14-14: Concrete and abstract type constants with default values in an interface cannot conflict with inherited concrete or abstract type constants with default values. File "interface_override_parent.php", line 4, characters 14-14: diff --git a/hphp/hack/test/typecheck/typeconsts/interface_override_parent1.php.exp b/hphp/hack/test/typecheck/typeconsts/interface_override_parent1.php.exp index 7c90da34a78..d70998597c7 100644 --- a/hphp/hack/test/typecheck/typeconsts/interface_override_parent1.php.exp +++ b/hphp/hack/test/typecheck/typeconsts/interface_override_parent1.php.exp @@ -1,7 +1,5 @@ -File "interface_override_parent1.php", line 11, characters 7-7: -Class `B` does not correctly implement all required members (Typing[4374]) - File "interface_override_parent1.php", line 11, characters 17-17: - Some members are incompatible with those declared in type `A` +File "interface_override_parent1.php", line 11, characters 17-17: +Some members in class `B` are incompatible with those declared in type `A` (Typing[4374]) File "interface_override_parent1.php", line 8, characters 14-14: Concrete and abstract type constants with default values in an interface cannot conflict with inherited concrete or abstract type constants with default values. File "interface_override_parent1.php", line 4, characters 23-23: diff --git a/hphp/hack/test/typecheck/typeconsts/interface_override_trait.php.exp b/hphp/hack/test/typecheck/typeconsts/interface_override_trait.php.exp index c00f0207f1d..4f4768021f3 100644 --- a/hphp/hack/test/typecheck/typeconsts/interface_override_trait.php.exp +++ b/hphp/hack/test/typecheck/typeconsts/interface_override_trait.php.exp @@ -1,7 +1,5 @@ -File "interface_override_trait.php", line 11, characters 7-7: -Class `A` does not correctly implement all required members (Typing[4374]) - File "interface_override_trait.php", line 11, characters 28-29: - Some members are incompatible with those declared in type `T1` +File "interface_override_trait.php", line 11, characters 28-29: +Some members in class `A` are incompatible with those declared in type `T1` (Typing[4374]) File "interface_override_trait.php", line 8, characters 14-14: Concrete and abstract type constants with default values in an interface cannot conflict with inherited concrete or abstract type constants with default values. File "interface_override_trait.php", line 4, characters 14-14: diff --git a/hphp/hack/test/typecheck/typeconsts/interface_override_trait2.php.exp b/hphp/hack/test/typecheck/typeconsts/interface_override_trait2.php.exp index dc1f47a28e6..09085cd8843 100644 --- a/hphp/hack/test/typecheck/typeconsts/interface_override_trait2.php.exp +++ b/hphp/hack/test/typecheck/typeconsts/interface_override_trait2.php.exp @@ -1,7 +1,5 @@ -File "interface_override_trait2.php", line 12, characters 16-16: -Class `B` does not correctly implement all required members (Typing[4374]) - File "interface_override_trait2.php", line 12, characters 37-38: - Some members are incompatible with those declared in type `T1` +File "interface_override_trait2.php", line 12, characters 37-38: +Some members in class `B` are incompatible with those declared in type `T1` (Typing[4374]) File "interface_override_trait2.php", line 9, characters 23-23: Concrete and abstract type constants with default values in an interface cannot conflict with inherited concrete or abstract type constants with default values. File "interface_override_trait2.php", line 5, characters 23-23: diff --git a/hphp/hack/test/typecheck/typeconsts/linearization.php.exp b/hphp/hack/test/typecheck/typeconsts/linearization.php.exp index 5c820e88e45..afcd300344e 100644 --- a/hphp/hack/test/typecheck/typeconsts/linearization.php.exp +++ b/hphp/hack/test/typecheck/typeconsts/linearization.php.exp @@ -1,7 +1,5 @@ -File "linearization.php", line 11, characters 7-11: -Class `child` does not correctly implement all required members (Typing[4374]) - File "linearization.php", line 11, characters 28-29: - Some members are incompatible with those declared in type `I1` +File "linearization.php", line 11, characters 28-29: +Some members in class `child` are incompatible with those declared in type `I1` (Typing[4374]) File "linearization.php", line 8, characters 14-14: Concrete and abstract type constants with default values in an interface cannot conflict with inherited concrete or abstract type constants with default values. File "linearization.php", line 4, characters 23-23: -- 2.11.4.GIT