Open mlaily opened 2 days ago
It is a real issue. The compiler has a bug and mismatches the types on the cascade of nesting. Even when you try to eliminate access path from the left, it always comes with a different error message instead.
Also, in this case, even putting parens arond the "func()" invocation does not help.
When reducing this down to a smallest repro, this only appears when having a 3 or mor records. When reducing the sample down to 2 records only, the nested syntax works without issues even with function invocation.
In some cases, I can't use the
with
keyword to copy and update a record with the F# 7 nested records shortcut syntax, when the source record comes from a function call (but in some situations it compiles fine).It seems the compiler gets somehow confused... (?)
Repro steps
The following code doesn't compile:
More precisely, the
okTest
compiles ok, but thefailingTest
does not.Expected behavior
I would expect the
failingTest
to work.Related information
Provide any related information (optional):
I'm using Visual Studio 17.12 on Windows, with .NET 9 installed.
I reproduced the issue when targeting .NET 8 and .NET 6 too, and also from VS Code.
Did I stumble on a real issue, or am I misunderstanding something?