Compiler error reporting 'No matching overload' error has too wide range

dotnet/fsharp#14284 FundOurselves

Watch this session

Problem

type T() =
    static member Instance = T()

    member _.Method(_: double) = ()
    member _.Method(_: int) = ()

T.Instance.Method("")
^^^^^^^^^^^^^^^^^^^^^

Error :
No overloads match for method 'Method'.
Known type of argument: string  Available overloads:
 - member T.Method: double -> unit // Argument at index 1 doesn't match
 - member T.Method: int -> unit // Argument at index 1 doesn't match

Expected behavior

Champion

Links