Uh oh!
There was an error while loading. Please reload this page.
Enable '--strictNullChecks' - #22088
Conversation
d386f8f to
34662b7Compare
|
Nathan Shively-Sanders (@sandersn) On my workstation |
Wesley Wigham (weswigham)
commented
Feb 22, 2018
I'm on board with all the changes except the non-optional non-undefined parent-pointers. While internally we use them with reckless abandon (the checker only operates on fully bound trees, after all), people using our transforms APIs won't have parent pointers bound (and shouldn't use them) - and making our public API correct is important. The, like, 1000 extra assertions we'd need internally are probably worth it. Also |
Deleted user (ghost)
commented
Feb 28, 2018
API tests pass when I run them locally on either windows or linux -- don't know why travis is failing. |
Wesley Wigham (weswigham)
commented
Mar 1, 2018
The travis failure repros locally for me (looks like |
Deleted user (ghost)
commented
Mar 1, 2018
Just needed to get Jake to run with |
Wesley Wigham (weswigham)
commented
Mar 1, 2018
TIL jenkins will refuse to build when there are merge conflicts. |
Fixes#9432
The changes generally amount to:
| undefinedas appropriate.!in many placesSymbolandType.E | undefined, so we need to writee! & E.SomeFlag.no-unnecessary-type-assertionlint rule ensures that these are only added where necessary.!are marked with Tracking invalid type assertions #18217.!!to make expressions bebooleaninstead ofboolean | undefined.= falseto initialize the boolean.condition && optionaltocondition ? optional : undefinedto avoid getting aOptional | undefined | false.Debug.fail()toreturn Debug.fail()to tell the compiler that we definitely return from a function