| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
Fix #1269: Typing and pattern matching of nested subclasses
|
| |
| |
| |
| |
| | |
Previous test did not reflect deeper paths for outer references. This caused
a -Ycheck:patMat failure for i1269.scala.
|
| |
| |
| |
| |
| | |
The previously used `rebase` did not rewrire outer this references.
The right thing to do here is an asSeenFrom.
|
| | |
|
|\ \
| | |
| | | |
Fix #1423: Fix owners of called methods in CollectSuperCalls.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Add Function25 on top of #1413.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix #1263: Suppress super initializer call for val parameters of traits.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Val-parameters of traits don't have an initializer, as other vals do. So
we cannot call the initializer in an initialization sequence of a subclass.
Fixes #1263.
|
|\ \ \
| | | |
| | | | |
partest: Enable separate compilation
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
In this case, supertype is not stable and should not be cached.
|
| | | |
| | | |
| | | |
| | | | |
Java's naming convention is different from Scala's.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This lead to inference failures when separately compiling t1751 and
t294, this did not happen under joint compilation because JavaParser
does not create the overloaded constructor
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is necessary to unbox the value class when accessing it from
separate compilation units
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1411: Give REPL output in correct order
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
Dotty uses ammonite.terminal since April (53bd25f) which replaces JLine.
There is no reason to keep it anymore.
|
|\ \ \ \
| | | | |
| | | | | |
fix #1354: improve type test of union types
|
| |/ / / |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
-Xprint-diff-del: more meaningful colors
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a line is modified, show the deleted part in red and the added part
in green instead of using magenta and yellow which are confusing.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix #1284: Make classTag depend directly on erasure
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In the end, a classTag reflects the erased version of a type. The only
condition for its generation should be that the erasure is stable under
possible instantiations.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix parameterized typedefs with lambdas as rhs
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As @smarter noted, makes no sense to use a boolean parameter here.
We got there by refactoring blindness.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adapt operations TypeApplications and TypeComparer to account
for the possibilities of curried type lambdas.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Previously the compiler crashed when faced with a parameterized typedef
that has a lambda as rhs. We fix this by refining the condition when
not to abstract in typeDefsig.
|
| | | | |
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | | |
Make treatment in Scala2Unpickler and Namer the same and factor
out common functionality.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Faced with recursive dependencies through self types, we might have
to apply `normalizeToClassRefs` to a class P with a parent that is not
yet initialized (witnessed by P's parents being Nil). In that case
we should still execute forwardRefs on P, but we have to
wait in a suspension until P is initialized.
This avoids the problem raised in #1401. I am still not quite sure
why forwardRefs is needed, but it seems that asSeenFrom alone is not
enough to track the dependencies in this case.
|
|/ /
| |
| |
| |
| | |
- increase page width
- print scopes more legibly under -verbose
|
|\ \
| | |
| | | |
Fix #1378: Propagate more knowledge of result type into applications
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If an application has functions with implicit parameter types we need to be
more aggressive about propagating knowledge of the expected result type into
the constraint.
Fixes #1378.
|
| |/
| |
| |
| | |
As observed by @smarter, makes sense to do this.
|
| |
| |
| |
| |
| |
| | |
* -Xprint:[...] alone prints the trees without diffs.
* -Xprint-diff enables the diff on -Xprint.
* -Xprint-diff-del enables the diff with deletes on -Xprint.
|
|\ \
| | |
| | | |
Fix wildcard protos
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
HK reduction: Remove special-case for typerefs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The special case:
case stripped: TypeRef =>
stripped.symbol.is(BaseTypeArg)
is wrong because you might still want to reduce applications involving
TypeRefs which are not base class parameters, like in:
class Foo[A]
type Alias[X] = Foo[X]
val x: Alias[Int] = ???
`Alias` is a TypeRef so before this commit `Alias[Int]` was never reduced
to `Foo[Int]`. It should have been:
case stripped: TypeRef if stripped.symbol.is(BaseTypeArg) =>
true
But even this is incorrect: it assumes that we can always safely reduce HK
applications involving base class parameters, this is not the case when
the parameter kind is different from the rhs kind as illustrated by
`i1181c.scala`. We fix this by simply dropping the special case.
|
|\ \ \
| | | |
| | | | |
Fix #1386: Reduce double def errors
|
| | | |
| | | |
| | | |
| | | | |
mergeDenot is already large as it is.
|