Check trait use for constraint satisfaction
commit0f8134faffd55fd3ede50394308f20f4dab4b190
authorAndrew Kennedy <akenn@fb.com>
Thu, 9 Jul 2020 07:55:32 +0000 (9 00:55 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 9 Jul 2020 07:57:50 +0000 (9 00:57 -0700)
tree8f42bb60cfb8a88ccdfa745ac3fff7cd92f30859
parent3d2a84b8b852b206b5452efeff433a462f7e28fe
Check trait use for constraint satisfaction

Summary:
We don't currently check the type `t` for constraint satisfaction in a `use t;` clause, in contrast to `extends t` and `implements t` and similar. As traits can declare constraints on type parameters, we should check at `use` site.

Fix is a one-liner.

Reviewed By: madgen, Wilfred

Differential Revision: D22332272

fbshipit-source-id: f2c598459fbb014caab7bfa3a7215823cb461009
hphp/hack/src/typing/nastCheck.ml
hphp/hack/test/typecheck/constraints/use_trait_bad_constraint.php [new file with mode: 0644]
hphp/hack/test/typecheck/constraints/use_trait_bad_constraint.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/constraints/use_trait_bad_constraint_2.php [new file with mode: 0644]
hphp/hack/test/typecheck/constraints/use_trait_bad_constraint_2.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/constraints/use_trait_good_constraint.php [new file with mode: 0644]
hphp/hack/test/typecheck/constraints/use_trait_good_constraint.php.exp [new file with mode: 0644]