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
}
}