Update FS-1060-nullable-reference-types to reflect newer changes #780
+61
−87
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Click “Files changed” → “⋯” → “View file” for the rendered RFC.
This does apply the most important material changes to the RFC.
This especially cares about correctness w.r.t. to current feature implementation, does not attempt to solve "recall" => it is fine to have pieces in the RFC, while still not yet implemented.
Changes not covered in this RFC update yet:
Space optimization and "reasonable F# defaults" for metadata export: dotnet/fsharp#15981
Metadata for "inherits" and "interface implementations" for nested generics, e.g. inherit List<string | null> : dotnet/fsharp#16597
Printing nullness: dotnet/fsharp#16656 , dotnet/fsharp#16681
Nullness change in overrides: dotnet/fsharp#16711
To be described in more detail in the next addition:
Null elimination in pattern maching when it comes to tuples, conjunctions
WarnOnWithoutNullArgumentAttribute : https://github.com/dotnet/fsharp/pull/16853
Explicit list of type families not support
| null
: dotnet/fsharp#16907Extensions methods from C# having a nullable "this" arg
Events (F# adds null-safe wrappers, even when C# original can have null delegate): dotnet/fsharp#17102
Nullness-contravariance for type parameters: dotnet/fsharp#17398
Type inference change - infer without null : dotnet/fsharp#17269