| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This implements the rules laid down in #1805.
|
|
|
|
| |
New implementation following the scheme outlined in #1790.
|
|\
| |
| | |
[REPL] Add show capability to common types
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Try fix #1786: support use package object as value
|
|/ / |
|
|\ \
| | |
| | | |
Fix #1776: Avoid interaction between parameter forwarding and elimByName
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Fix exhaustivity check test after repo restructuring
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix #1757: Be more careful about positions of type variable binders
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix #1756: Use lexically enclosing class as start of outer path.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Fix #1765: Context bounds and denotation handling
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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`.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous post-condition failed if a Ycheck was introduced between
memoize and constructors.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |/ /
| | |
| | |
| | | |
We were pushing the limit of 64 phases before.
|
|\ \ \
| | | |
| | | | |
Fix #1751: Make dominator work after erasure
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Fix #1773: handle patterns in interpolated string
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix #1702: handle ConstantType in TypeComparer
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix #1639: Changes around implicits and apply methods
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This can lead to stackoverflow, as i1639.scala shows.
Fixes #1639.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Error messages of nested implicit failures are now
reported with the top-level message if -explaintypes is set.
|
|\ \ \ \
| | | | |
| | | | | |
Drop function 22 limit
|
| | | | | |
|
| | | | | |
|