Do not attempt to specialize TypeStructure's type for unbound abstract types
commit2d850ed9ed54584476f4e45642a32a3ee4f58bd0
authorDwayne Reeves <dreeves@fb.com>
Sat, 17 Oct 2015 00:14:01 +0000 (16 17:14 -0700)
committerhhvm-bot <hhvm-bot@fb.com>
Sat, 17 Oct 2015 00:30:38 +0000 (16 17:30 -0700)
treeec193c8f98b0e274010d511e88ed23020cdb8f43
parent74efd9b5cf28f0bedc03b54654336afa3ca2ebbb
Do not attempt to specialize TypeStructure's type for unbound abstract types

Summary: Originally in {D2534747} I didn't specialize unbound generics since we do not
know exactly what they will be at run time so we leave all fields as nullable.
We should do the same for all abstract kinds (expect enums).

Reviewed By: dabek

Differential Revision: D2552452

fb-gh-sync-id: 7885423b9f4f2899e265c3bac0640fda161c3484
hphp/hack/src/typing/typing_structure.ml
hphp/hack/test/typecheck/type_structure/type_structure_abstract.php
hphp/hack/test/typecheck/type_structure/type_structure_abstract.php.exp