aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/tailcall
Commit message (Collapse)AuthorAgeFilesLines
* Remove name clash in test.Dmitry Petrashko2017-03-131-1/+1
|
* Check that #2024 is fixed.Dmitry Petrashko2017-03-081-0/+4
|
* Test that #1614 remains fixed.Dmitry Petrashko2016-10-231-0/+9
|
* Fix test failures in tailcall due to name clashes.Dmitry Petrashko2016-04-211-1/+1
|
* Test #1221.Dmitry Petrashko2016-04-181-0/+10
|
* FullParametrization: allow to have $this of ThisType.Dmitry Petrashko2016-03-311-0/+26
| | | | | | | | | TailRec methods remain members of enclosing class, it means that they can refer to methods that require this.type. It means that tailrec, unlike value classes is not allowed to widen type of $this to it's full self type. Fixes #1089
* Make all dotty tests end in newlineDmitry Petrashko2015-04-092-2/+2
|
* Addressing review comments of #336Dmitry Petrashko2015-02-031-1/+1
|
* Even more careful handling of tailcalls.Dmitry Petrashko2015-02-031-5/+21
| | | | See i321 doc for description of problem and decision taken.
* Fix i321, tail call needs to be careful with abstracting over class type ↵Dmitry Petrashko2015-02-031-0/+10
| | | | | | arguments. Or it could lead to Ycheck error that was triggered in #321.
* Moved pending tests that work into pos and neg.Martin Odersky2014-11-171-0/+36
| | | | | | | One test (t2613) required lifting a hard recursion limit in findMember (used for debug only, will be removed in the future). The same test also requires -Yno-deep-subtypes to be reset, so it's in pos_special instead of pos.
* LambdaLift checks now explicitly for references to labels outside scope.Martin Odersky2014-10-261-10/+0
| | | | | Nested methods cannot refer to labels in theior environment. Needs a fix in TailCalls. Moved failing test to pending.
* Handle return in tailcalls.Martin Odersky2014-09-121-0/+5
| | | | | Avoids characterizing the "from" link in a return as a tail call reference.
* Add test for tailcallDmitry Petrashko2014-07-221-0/+4
| | | | Test for order of type parameters in recursive call
* Fix to rewire typesMartin Odersky2014-07-171-2/+6
| | | | | | | t6574 has a new test where we produce identical code in an if-then-else. This broke the rewiring logic before, and is fixed now. Also, more comments and test cases.
* TailRec phase and tests for it.Dmitry Petrashko2014-04-118-0/+124
Ported tailcall phase from scalac with such changes: - all transformation is done in the phase itself (previously half of the work was done in backend) - it is now able to run before uncurry - it is now a treeTransform - renamed to tailrec to make it more obvious that this phase transforms only recursive calls. For now this is a single phase which speculatively transforms DefDefs. Speculation can be potentially removed by splitting into 2 phases: one detecting which methods should be transformed second performing transformation. But, as transformation requires as same amount of work as detection, I believe it will be simpler to maintain it as a single phase. Conflicts: tests/pos/typers.scala