| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Run a typical dotty compiler scenario with implicit
contexts.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the expected type is an implicit function, create an
implicit closure to match it.
|
| | | | |
| | | | |
| | | | |
| | | | | |
and check at runtime that it works
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
Fix #1802: Make sure errors are not swept under the carpet
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Typer#ensureReported's comment outlines an example where errors
could go unreported, resulting in error trees after typer without
any reported error messages. This commit makes sure that at least
one error is reported if a tree node has an error type.
Fixes #1802.
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1803: Infer type parameters of anonymous class parents from expected type
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a parent type of an anonymous class is an Ident or Select which refers
to a parameterized type, use the expected type to infer its type parameters.
Fixes #1803.
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1797: Allow case class params with names _1, _2, ...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was not possible before because it clashed with the automatically
generated name of the accessor. We now allow it, by simply taking the
parameter(accessor) itself as the case class accessor if it already has
that name. But you still cannot write
case class C(_2: Int, _1: String)
nor should you be able to do this.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix #1755: Make sure references in outer args are accessible
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Needed a fixup action in ExplicitOuter to avoid references to
module's This from outside their scope.
The problem is fixed, but I wish I understood better the root cause.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix #1806: Define outer accessors at the right phase
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | |
|
|\| | | | |
| |_|/ / /
|/| | | | |
Fix #1790: Change by-name pattern matching.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This implements the rules laid down in #1805.
|
| | |/ /
| |/| |
| | | |
| | | | |
New implementation following the scheme outlined in #1790.
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1784: allow to omit types for local implicit vals
|
| | | | |
| | | | |
| | | | |
| | | | | |
Needed an // error annotation
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since we now allow to drop the explicit type of a local implicit val
it can happen that this causes a cyclic reference, namely when the
typechecking of the right-hand side involves an implicit search.
It's unpractical and fragile to avoid this. Instead we give now
a nice error message explaining the problem and how to fix it in
source code.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix checks related to value classes
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
fix #1779: support $_ and $_id in interpolated string
|
| | | | | | | |
|
| | | | | | | |
|
| |_|_|/ / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Add tests that work to pos/neg, tests that don't work yet to pending/pos/neg.
- Also, change .gitignore to allow for a local directory.
- Also add a draft page to the docs.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
[REPL] Add show capability to common types
|
| | | | | | | |
|
| |_|_|_|_|/
|/| | | | | |
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Fix #1776: Avoid interaction between parameter forwarding and elimByName
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix #1757: Be more careful about positions of type variable binders
|
| | |_|_|_|/
| |/| | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
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`.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
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
|
| | | | | |
|
|/ / / / |
|