Fix bug with enforcing purity in constant initializers
commit9f4409faae5ffe4b33cd1c610071516c55cf820b
authorVassil Mladenov <vmladenov@fb.com>
Fri, 12 Feb 2021 06:56:49 +0000 (11 22:56 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 12 Feb 2021 06:59:03 +0000 (11 22:59 -0800)
tree989476121230ddb7d0760c5f781217522f2748fe
parent65b065c407993690acfbfeea0f8ab58391247e97
Fix bug with enforcing purity in constant initializers

Summary: Stolen from vsiles {D26015883} because we're looking for a hotfix. The locals environment was not being properly initialized.

Reviewed By: dlreeves

Differential Revision: D26354335

fbshipit-source-id: d1f485d5ad6d05c4ee1713d65a73ac22f8df3077
59 files changed:
hphp/hack/hhi/BuiltinEnum.hhi
hphp/hack/src/typing/typing_toplevel.ml
hphp/hack/test/enum_atom/typing/atom.php
hphp/hack/test/enum_atom/typing/atom1.php
hphp/hack/test/enum_atom/typing/atom2.php
hphp/hack/test/enum_atom/typing/atom3.php
hphp/hack/test/enum_atom/typing/atom_generic_validation.php
hphp/hack/test/enum_class/typing/access_variant_writeprops2.bad.php [new file with mode: 0644]
hphp/hack/test/enum_class/typing/access_variant_writeprops2.bad.php.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/coeffects.bad.php [new file with mode: 0644]
hphp/hack/test/enum_class/typing/coeffects.bad.php.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/coeffects.good.php [new file with mode: 0644]
hphp/hack/test/enum_class/typing/coeffects.good.php.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.extends.good.php
hphp/hack/test/enum_class/typing/typing.extends0.bad.php
hphp/hack/test/enum_class/typing/typing.extends0.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.extends1.bad.php
hphp/hack/test/enum_class/typing/typing.extends1.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.extends2.bad.php
hphp/hack/test/enum_class/typing/typing.extends3.bad.php
hphp/hack/test/enum_class/typing/typing.extends3.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.extends4.bad.php
hphp/hack/test/enum_class/typing/typing.extends4.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.extends5.bad.php
hphp/hack/test/enum_class/typing/typing.extends5.bad.php.exp
hphp/hack/test/enum_class/typing/typing.extends5.bad.php.legacy_decl.exp
hphp/hack/test/enum_class/typing/typing.extends6.bad.php
hphp/hack/test/enum_class/typing/typing.extends6.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing.good.php
hphp/hack/test/enum_class/typing/typing0.bad.php
hphp/hack/test/enum_class/typing/typing0.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing1.bad.php
hphp/hack/test/enum_class/typing/typing1.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing2.bad.php
hphp/hack/test/enum_class/typing/typing2.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing3.bad.php
hphp/hack/test/enum_class/typing/typing3.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing4.bad.php
hphp/hack/test/enum_class/typing/typing4.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing5.bad.php
hphp/hack/test/enum_class/typing/typing5.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/enum_class/typing/typing6.bad.php
hphp/hack/test/enum_class/typing/typing6.bad.php.legacy_decl.exp [new file with mode: 0644]
hphp/hack/test/typecheck/array_non_static.php.exp
hphp/hack/test/typecheck/call_in_static_darray.php.exp
hphp/hack/test/typecheck/call_in_static_dict.php.exp
hphp/hack/test/typecheck/call_in_static_dict_like_array.php.exp
hphp/hack/test/typecheck/call_in_static_shape.php.exp
hphp/hack/test/typecheck/call_in_static_varray.php.exp
hphp/hack/test/typecheck/call_in_static_vec.php.exp
hphp/hack/test/typecheck/call_in_static_vec_like_array.php.exp
hphp/hack/test/typecheck/collection_non_static.php.exp
hphp/hack/test/typecheck/func_ptr_in_constants/custom_function.php.exp
hphp/hack/test/typecheck/list_non_static.php.exp
hphp/hack/test/typecheck/map_non_static.php.exp
hphp/hack/test/typecheck/records/record_decl_not_const.php.exp
hphp/hack/test/typecheck/static_in_prop_decl.php.exp
hphp/runtime/ext/enum/ext_enum.php
hphp/system/php/switchable_class.ns.php