3
[RFC FS-1060] Nullness checking by dsyme · Pull Request #6804 · dotnet/fsharp ·...
source link: https://github.com/dotnet/fsharp/pull/6804
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Continuation of #5790
This is a prototype implementation of RFC FS-1060 nullable reference types
See tests\fsharp\core\nullness\test.fsx
for testing and samples.
TODO:
- implement import of .NET metadata
- implement emit of .NET metadata
- resolve all unresolved issues in RFC
-
implement
match x with null -> ... | x -> ...
implied use ofNonNull
pattern -
make
null
andNonNull
be considered disjunctive discriminators in pattern matching -
resolve all
// TODO NULLNESS
- ambivalent/oblivious annotations are not being shown at all in visual output. Consider what to do about these. They should likely be dropped but give a supplementary sentence "Some types shown are ambivalent to null checking for compatibility reasons".
- add testing
- get it green
- performance testing
- should nullness be supported on ref tuples and anon tuples
- check signature compatibility. While integrating master I noticed a case in the compiler where a signature file had a non-nullable string type for ther return of a function and an implementation had a nullable string type (and a later soundness problem arose)
- Work out what to do about compat of Option.ofObj and others
-
Fix and re-enable test
Test ProjectForWitnesses4 GetWitnessPassingInfo
DONE:
-
allow
Foo<string?>
, currentlyFoo< string? >
with a space between?
and>
is needed, need to token smash?>
token in tyargs
abelbraaksma, Shmew, toburger, joshuapassos, simonmcconnell, charlesroddie, adelarsq, shimbaco, seanamosw, ArtemyB, and 3 more reacted with thumbs up emoji
adelarsq, joshuapassos, charlesroddie, and uxsoft reacted with heart emoji
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK