You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fooArray isn't called in tail recursive manner, however compiler does not issue a warning.
Curiously, after rewrite to Seq functions compiler does issue Warning FS3569 : The member or function 'fooSeq' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way.
Looking at decompiled code of assembly I would guess that compiler tries to optimise Array.map and TailCall analyser mistakes the result for tail-recursive function.
Expected behavior
Warning is issued for first code example.
Actual behavior
No warning.
Known workarounds
.
Related information
Provide any related information (optional):
.NET SDK 9.0.200
The text was updated successfully, but these errors were encountered:
Repro steps
Consider the following code (the simplest example I could craft, don't expect anything sane):
fooArray
isn't called in tail recursive manner, however compiler does not issue a warning.Curiously, after rewrite to Seq functions compiler does issue
Warning FS3569 : The member or function 'fooSeq' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way.
Looking at decompiled code of assembly I would guess that compiler tries to optimise Array.map and TailCall analyser mistakes the result for tail-recursive function.
Expected behavior
Warning is issued for first code example.
Actual behavior
No warning.
Known workarounds
.
Related information
Provide any related information (optional):
.NET SDK 9.0.200
The text was updated successfully, but these errors were encountered: