Make errors for strict mode be whitelisted
commit67ac0f1f4f041b5e107e882d2da9c3759f7c76cd
authorVassil Mladenov <vmladenov@fb.com>
Wed, 10 Jun 2020 02:11:41 +0000 (9 19:11 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 10 Jun 2020 02:14:30 +0000 (9 19:14 -0700)
treed47081baaed47f2d94a5be34e6deeae402a6762d
parent56815911e962af8e634dd4d8693913b3aa7e50cf
Make errors for strict mode be whitelisted

Summary:
Instead of blacklisting fixme codes in .hhconfig, this new option makes all codes unfixmeable by default. New errors added to hack will similarly be unfixmeable. This is a fairly big departure from the way Hack errors have been treated historically and will help expedite efforts to make Hack trusted by default.

The overall plan for Hack is to move away from error suppression and towards explicit dynamicism for unsafe behavior. Fixmes will still be supported for the near future, but we are aggressively removing them at Facebook, and community Hack projects should similarly aim to reduce and constrain fixmes in libraries. In the immediate term, projects will need to whitelist fixme codes used in their dependencies, but this burden will decrease as more libraries transition to being trusted.

All the numbered diffs in this stack are meant to land more or less together.

Reviewed By: Wilfred

Differential Revision: D21608542

fbshipit-source-id: 2f58e7623186e43c0e209e75c355efe4891fc841
hphp/hack/src/errors/errors.ml
hphp/hack/src/errors/errors.mli
hphp/hack/src/options/globalOptions.ml
hphp/hack/src/options/globalOptions.mli
hphp/hack/src/oxidized/gen/global_options.rs
hphp/hack/src/oxidized/manual/global_options_impl.rs
hphp/hack/src/server/serverConfig.ml
hphp/hack/src/server/serverGlobalState.ml