New inference: use lists not sets for tyvars
commit1cf237f593803876268bf382b06110a9f90755e0
authorAndrew Kennedy <akenn@fb.com>
Tue, 5 Feb 2019 19:49:34 +0000 (5 11:49 -0800)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Tue, 5 Feb 2019 19:53:14 +0000 (5 11:53 -0800)
treefb2b4e8244b57d24e46a2d67fb755dea35c7b6c9
parent1bd0f5bc5608f56892e75ade7643c752533dadf1
New inference: use lists not sets for tyvars

Summary: In the "stack" of freshly-generated tyvars, we uses the `ISet.t` type. But this is unnecessary abstraction (and inefficiency): we know that the variables are distinct, as they are freshly generated. Use lists instead.

Reviewed By: kmeht

Differential Revision: D13922315

fbshipit-source-id: c98c89c14b0f8f7fc5e0212aa1a8c305645e5318
12 files changed:
hphp/hack/src/typing/typing.ml
hphp/hack/src/typing/typing_env.ml
hphp/hack/src/typing/typing_env.mli
hphp/hack/src/typing/typing_env_types.ml
hphp/hack/src/typing/typing_env_types_sig.mli
hphp/hack/src/typing/typing_log.ml
hphp/hack/src/typing/typing_subtype.ml
hphp/hack/src/typing/typing_subtype.mli
hphp/hack/test/typecheck/new_inference/eager_solve/ref_get_array_append.php.exp
hphp/hack/test/typecheck/new_inference/eager_solve/stack_overflow3.php.exp
hphp/hack/test/typecheck/new_inference/stack_overflow2.php.exp
hphp/hack/test/typecheck/new_inference/transitive_simplify_2.php.exp