3

[RFC FS-1060] Nullness checking by dsyme · Pull Request #6804 · dotnet/fsharp ·...

 2 years ago
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.

Copy link

Contributor

@dsyme dsyme commented on May 22, 2019

edited

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 of NonNull pattern
  • make null and NonNull 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?>, currently Foo< 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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK