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.82k stars 773 forks source link

Missing message with type error (FS0001) #17373

Open glchapman opened 3 days ago

glchapman commented 3 days ago

Building (dotnet build) the attached project prints at the console an error FS0001 with a location in Program.fs, but does not print an message informative message. I would expect a message along the lines of

foo expects a seq<'a * 'b * 'c>, but is called with a seq<'a * 'b>

I'm using compiler version 12.8.300.0 for F# 8.0. The product version of fsc.exe is "12.8.300-beta.24228.1+dd749058c91585e9b5dae62b0f8df892429ee28f" errmsg.zip

T-Gro commented 2 days ago

This is the code snippet from the attached project:

let foo items =
    for (a,b,c) in items do
        printfn "%A" (a, c)

[<EntryPoint>]
let main args =
    foo ({1..10} |> Seq.pairwise)
    0

And the only message literally is just FS0001:

  errmsg failed with 1 error(s) (4.9s)
    ...\errmsg\Program.fs(7,21): error FS0001:

Build failed with 1 error(s) in 11.8s

vzarytovskii commented 2 days ago

Works fine in 6.x btw

image
edgarfgp commented 2 days ago

I think it might be related to this PR https://github.com/dotnet/fsharp/pull/14003

vzarytovskii commented 2 days ago

I think it might be related to this PR #14003

Yeah, that's our working theory rn