aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix #1806: Define outer accessors at the right phaseMartin Odersky2016-12-163-1/+10
| | | | | | | | | Some outer accessors were defined at phase explicitOuter, but were entered into the scope of their enclosing class only at phase explicitOuter + 1. This turned them to stale symbols when trying to access them at a later run, because at their initially valid phase they were not found as members of their owner.
* Test caseMartin Odersky2016-12-151-0/+7
|
* Implement new rules for name-based pattern matchingMartin Odersky2016-12-156-26/+70
| | | | This implements the rules laid down in #1805.
* Change by-name pattern matching.Martin Odersky2016-12-148-58/+95
| | | | New implementation following the scheme outlined in #1790.
* Merge pull request #1761 from dotty-staging/topic/product-showFelix Mulder2016-12-145-5/+206
|\ | | | | [REPL] Add show capability to common types
| * Add comment regarding prettificationFelix Mulder2016-12-011-0/+17
| |
| * Use Nil.type and None.type instead of superclassesFelix Mulder2016-12-011-4/+4
| |
| * Fix literal type printingFelix Mulder2016-12-011-0/+3
| |
| * Fix tasty bootstrapFelix Mulder2016-12-011-12/+12
| |
| * Fix repl testsFelix Mulder2016-12-011-1/+1
| |
| * Add documentation to `Show`Felix Mulder2016-11-301-3/+10
| |
| * Get rid of null in evidence paramFelix Mulder2016-11-301-3/+6
| |
| * Optimize `Show[String]` instanceFelix Mulder2016-11-301-10/+14
| |
| * Get rid of nesting implicitsFelix Mulder2016-11-303-43/+26
| |
| * Print List and Map abbreviatedFelix Mulder2016-11-301-1/+8
| |
| * Make repl use show instances where possibleFelix Mulder2016-11-301-2/+15
| |
| * Fix `Option[Nothing]` showFelix Mulder2016-11-301-2/+1
| |
| * Add basic Show capabilityFelix Mulder2016-11-303-1/+166
| |
* | Merge pull request #1787 from dotty-staging/fix-i1786odersky2016-12-143-1/+36
|\ \ | | | | | | Try fix #1786: support use package object as value
| * | Fix #1786: support use package object in fun callliu fengyun2016-12-133-1/+36
|/ /
* | Merge pull request #1781 from dotty-staging/fix-#1776Dmitry Petrashko2016-12-122-1/+6
|\ \ | | | | | | Fix #1776: Avoid interaction between parameter forwarding and elimByName
| * | Add test caseMartin Odersky2016-12-121-0/+3
| | |
| * | Fix #1776: Avoid interaction between parameter forwarding and elimByNameMartin Odersky2016-12-111-1/+3
| | | | | | | | | | | | | | | | | | Parameter forwarding is not geared to handle parameters of by-name types correctly and consequently elimByName generates wrong code. Since it's a corner case it's easiest by not applying the parameter forwarding optimization to by-name parameters.
* | | Merge pull request #1783 from dotty-staging/patmat-checkliu fengyun2016-12-111-2/+2
|\ \ \ | | | | | | | | Fix exhaustivity check test after repo restructuring
| * | | fix exhaustivity check test after repo restructuringliu fengyun2016-12-111-2/+2
|/ / /
* | | Merge pull request #1764 from dotty-staging/fix-#1757odersky2016-12-106-14/+52
|\ \ \ | | | | | | | | Fix #1757: Be more careful about positions of type variable binders
| * | | Add explanationMartin Odersky2016-12-021-0/+22
| | | |
| * | | Add test caseMartin Odersky2016-12-021-0/+6
| | | |
| * | | Fix #1757: Be more careful about positions of type variable bindersMartin Odersky2016-12-015-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We interpolate a type variable if the current tree contains the type variables binding tree. Previously, this was the application owning the variable. However, sometimes this tree is transformed so that the containment test fails, and type variables are instantiated too late (in the case of #1757 this was never). We fix this by - setting the binding tree to the type tree that first contains the type variable - making sure that tree is never copied literally anywhere else. It's a tricky dance, but I believe we got it right now.
* | | | Merge pull request #1766 from dotty-staging/fix-#1756odersky2016-12-103-3/+23
|\ \ \ \ | |_|/ / |/| | | Fix #1756: Use lexically enclosing class as start of outer path.
| * | | Add original test to test caseMartin Odersky2016-12-021-3/+2
| | | |
| * | | Fix-1756: Use lexically enclosing class as start of outer path.Martin Odersky2016-12-023-3/+24
| |/ / | | | | | | | | | | | | | | | We confused the enclosing class (which skips the current class in super call contexts) and the lexically enclosing class in three locations that all had to do with the start of an outer path.
* | | Merge pull request #1768 from dotty-staging/fix-#1765odersky2016-12-105-12/+56
|\ \ \ | | | | | | | | Fix #1765: Context bounds and denotation handling
| * | | Fix insertAfterMartin Odersky2016-12-022-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once the context-bounds desugaring of i1765.scala was fixed, another problem came up: We hit an invalid denotation due to some interaction between mixin and memoize. It turned out that `insertInsteadOf` did not do what its doc comment claimed: it did not store a forwarding pointer `nextInRun` in the overwritten denotation. Once that was fixed we also needed to fix a follow-on erorr that now we could have chains of invalid denotations linked by `nextInRun`.
| * | | Fine-tune post-conditions.Martin Odersky2016-12-021-3/+5
| | | | | | | | | | | | | | | | | | | | The previous post-condition failed if a Ycheck was introduced between memoize and constructors.
| * | | Handle hk types with context bounds in desugarMartin Odersky2016-12-021-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | With the change to the representation of higher-kinded type definitions, context bounds could be hidden in the body of a type lambda. Need to compensate for that.
| * | | Go to 7 bits for phase numbersMartin Odersky2016-12-021-1/+1
| |/ / | | | | | | | | | We were pushing the limit of 64 phases before.
* | | Merge pull request #1769 from dotty-staging/fix-#1751odersky2016-12-102-0/+20
|\ \ \ | | | | | | | | Fix #1751: Make dominator work after erasure
| * | | Fix #1751: Make dominator work after erasureMartin Odersky2016-12-022-0/+20
| |/ / | | | | | | | | | | | | | | | i1751.scala shows a case where we need to compute the approximation of an or-type during erasure. This can lead to an empty set of common classes because Any does not exist anymore after erasure.
* | | Merge pull request #1778 from dotty-staging/fix-i1773liu fengyun2016-12-083-0/+22
|\ \ \ | | | | | | | | Fix #1773: handle patterns in interpolated string
| * | | fix #1773: handle patterns in interpolated stringliu fengyun2016-12-083-0/+22
| | | |
* | | | Merge pull request #1772 from rethab/masterodersky2016-12-082-0/+9
|\ \ \ \ | |/ / / |/| | | Fix #1702: handle ConstantType in TypeComparer
| * | | handle ConstantType in TypeComparerReto Hablützel2016-12-042-0/+9
|/ / /
* | | Merge pull request #1658 from dotty-staging/fix-#1639odersky2016-12-036-56/+111
|\ \ \ | | | | | | | | Fix #1639: Changes around implicits and apply methods
| * | | Avoid inserting multiple .apply's.Martin Odersky2016-11-243-11/+35
| | | | | | | | | | | | | | | | | | | | | | | | This can lead to stackoverflow, as i1639.scala shows. Fixes #1639.
| * | | Avoid recomputation of companionRefsMartin Odersky2016-11-241-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When tracing i1639.scala it became apparent that we compute a lot of companion refs. This commit avoids this by better book-keeping what is valid and what is not and more aggressive caching.
| * | | Better reporting of nested implicit failuresMartin Odersky2016-11-243-15/+47
| | | | | | | | | | | | | | | | | | | | Error messages of nested implicit failures are now reported with the top-level message if -explaintypes is set.
* | | | Merge pull request #1758 from dotty-staging/change-functionsodersky2016-12-0318-261/+307
|\ \ \ \ | | | | | | | | | | Drop function 22 limit
| * | | | Adress reviewers commentsMartin Odersky2016-12-013-19/+14
| | | | |
| * | | | Add missing fileMartin Odersky2016-11-302-1/+19
| | | | |