Skip to content

Conversation

@T-Gro
Copy link
Contributor

@T-Gro T-Gro commented Jul 26, 2024

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#16907
Extensions 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

@vzarytovskii vzarytovskii merged commit 33a4c1c into fsharp:main Jul 27, 2024
@T-Gro T-Gro deleted the patch-2 branch July 29, 2024 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants