Remember fresh type variables for unions and await statement
commit76722c107bf5e03fbd74ead1a451d7e749db57de
authorAndrew Kennedy <akenn@fb.com>
Fri, 30 Nov 2018 10:50:19 +0000 (30 02:50 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Fri, 30 Nov 2018 10:54:50 +0000 (30 02:54 -0800)
treeab823cd8e99615f0b9bbbd8c3554adab049dcdd7
parent25e65242fd1d42472acea7406559695974ab6557
Remember fresh type variables for unions and await statement

Summary:
More replacement of `fresh_type` and `fresh_unresolved_type` with versions that record the type variables generated.

* We sometimes generate unions by first generating a fresh variable and then do subtyping against it (`compute_supertype`).
* For `yield` and `yield from` expressions
* For signatures generated for `gena` etc.

Reviewed By: CatherineGasnier

Differential Revision: D13254586

fbshipit-source-id: d4e9c282a44362b803a6ba284390e39443a1dea5
hphp/hack/src/typing/typing.ml
hphp/hack/src/typing/typing_async.ml
hphp/hack/src/typing/typing_env.ml
hphp/hack/src/typing/typing_env.mli
hphp/hack/test/typecheck/new_inference/construct_dict_union.php [new file with mode: 0644]
hphp/hack/test/typecheck/new_inference/construct_dict_union.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/new_inference/yield_from_generic.php [new file with mode: 0644]
hphp/hack/test/typecheck/new_inference/yield_from_generic.php.exp [new file with mode: 0644]
hphp/hack/test/typecheck/new_inference/yield_wait_forvr.php [new file with mode: 0644]
hphp/hack/test/typecheck/new_inference/yield_wait_forvr.php.exp [new file with mode: 0644]