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
Don't blow the stack when traversing deeply nested sequential expressions (#16882)
* Don't blow stack when traversing deep sequentials
* Sequential expressions are more likely than most other expression
kinds to be deeply nested, e.g., in very large list or array
expressions. Since `traverseSynExpr` is not tail-recursive, we must
treat them specially to avoid blowing the stack.
* Update release notes
* Only when actually nested
* Update comments
* Only alloc seq when needed
* Add very big array test for AST traversal
---------
Co-authored-by: Vlad Zarytovskii <[email protected]>
Copy file name to clipboardExpand all lines: docs/release-notes/.FSharp.Compiler.Service/8.0.300.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
### Fixed
2
2
3
+
* Don't blow the stack when traversing deeply nested sequential expressions. ([PR #16882](https://github.com/dotnet/fsharp/pull/16882))
3
4
* Fix wrong range start of INTERP_STRING_END. ([PR #16774](https://github.com/dotnet/fsharp/pull/16774), [PR #16785](https://github.com/dotnet/fsharp/pull/16785))
4
5
* Fix missing warning for recursive calls in list comprehensions. ([PR #16652](https://github.com/dotnet/fsharp/pull/16652))
5
6
* Code generated files with > 64K methods and generated symbols crash when loaded. Use infered sequence points for debugging. ([Issue #16399](https://github.com/dotnet/fsharp/issues/16399), [#PR 16514](https://github.com/dotnet/fsharp/pull/16514))
0 commit comments