-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TCO is not properly applied when function encounters a value with warnings attached #7093
Comments
This has regressed in #6849. And I'm not surprised as I wasn't entirely convinced by that change. |
Partially revert #6849, which introduced a regression in TCO in the presence of warnings. Rather than modifying the tail call status, `TailCallException` now propagates the extracted warnings and appends them to the final result. Closes #7093 # Important Notes Compared to the previous attempt we don't pay the penalty of adding the warnings or even checking for them because it is being dealt in a separate specialization.
Hubert Plociniczak reports a new STANDUP for the provided date (2023-06-23): Progress: Preparing a PR with a solution. Seems to cover the problem without any perf impact. Started looking into #7002. Reviewing changes to Any. It should be finished by 2023-06-23. Next Day: Next day I will be working on the #7002 task. Provide a PR with a change. |
Hubert Plociniczak reports a new STANDUP for the provided date (2023-06-22): Progress: Finding regression for #7098 (aka #6994). Investigating #7093 - I think I found an elegant solution with a negligible perf impact. It should be finished by 2023-06-23. Next Day: Next day I will be working on the #7093 task. Provide a PR with a fix for #7093. |
It is possible to trigger a stack-overflow in methods which rely on
@Tail_Call
to avoid that exact issue and work for larger datasets.The
Vector.contains
can be tripped and trigger a stack overflow on a vector with as little as 1000 elements.Run the following program:
Expected behaviour
Actual behaviour
It fails with stack overflow:
The text was updated successfully, but these errors were encountered: