Introduced in 0.24.2
Recursive function is not marked as tail-recursive using [<TailCall>]
attribute.
Tail-recursive functions have no risk of stack overflow and perform better.
Adding [<TailCall>]
attribute to recursive function makes compiler check that it's indeed tail-recursive and give warning otherwise.
<WarningsAsErrors>FS3569</WarningsAsErrors>
property in project file will make compiler treat this as warning as error.
Requires .NET 8 or later.
Add [<TailCall>]
attribute to your function.
{
"ensureTailCallDiagnosticsInRecursiveFunctions": {
"enabled": true
}
}