Skip to content

Fix #4196: TailRec-optimize methods returning implicit function types #4197

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

Merged
merged 2 commits into from
Mar 29, 2018

Conversation

smarter
Copy link
Member

@smarter smarter commented Mar 26, 2018

No description provided.

A transformX method can return a Thicket of trees that need to be
transformed by subsequent phases, but so far this wasn't the case.

No testcase, but this is necessary to make the next commit work properly
as `ShortcutImplicits` returns a Thicket of DefDefs that need to be
transformed by TailRec
@smarter smarter force-pushed the fix/tailrec-implicitfuns branch from cb0eb7c to 8fe42bc Compare March 26, 2018 22:23
…types

Before `ShortcutImplicits`, calls to such methods are never in tail
position since we call `.apply` on them to pass the implicit arguments.
By moving `ShortcutImplicits` before `TailRec` we avoid this problem.
@smarter smarter force-pushed the fix/tailrec-implicitfuns branch from 8fe42bc to 928a559 Compare March 26, 2018 22:51
@smarter smarter requested a review from odersky March 26, 2018 22:51
@smarter smarter merged commit c1ad60e into scala:master Mar 29, 2018
@Blaisorblade Blaisorblade deleted the fix/tailrec-implicitfuns branch March 29, 2018 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants