dotnet / fsharp

The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
https://dotnet.microsoft.com/languages/fsharp
MIT License
3.91k stars 785 forks source link

Nullness issue - passing nullable value as non-nullable method parameter works without warning #17737

Closed Lanayx closed 1 month ago

Lanayx commented 1 month ago

Issue description

I expect that passing nullable value as non-nullable method parameter should trigger warning, but it doesn't

Choose one or more from the following categories of impact

Operating System

Windows (Default)

What .NET runtime/SDK kind are you seeing the issue on

.NET SDK (.NET Core, .NET 5+)

.NET Runtime/SDK version

9.0.100-rc.1.24452.12

Reproducible code snippet and actual behavior

type Test =
    static member X(o: obj) = ""

let x: obj | null = null
let y = Test.X x // warning expected

Possible workarounds

No workaround is needed

T-Gro commented 1 month ago

Thanks for this report, this is indeed a serious bug. In the beginnings of this feature, obj has been left out of nullness checks, but that should not be the case anymore.