| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix #1396, #1403: Properly handle unbound wildcard types
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Fix #1426: Fix varable printing in REPL
|
| |
| |
| |
| |
| |
| | |
We accidentally used `toString` instead of `show`.
Fixes #1426.
|
|\ \
| |/
|/| |
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.
|
| | |
|
|\ \
| | |
| | | |
Ensure that partest runs bootstrapped Dotty.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
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
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, the classfiles emitted by dotty do not contain the type
parameters information that javac relies on.
Fixing this is tracked by #1303.
|
| | | |
| | | |
| | | |
| | | | |
javac wants the public class name to match the filename.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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 test failed before because strawman.collections.CollectionStrawMan5
is defined in two places:
- src/strawman/collections/CollectionStrawMan5.scala
- tests/run/colltest5/CollectionStrawMan5_1.scala
The first will be compiled by scalac (unless the tests are run through a
bootstrapped dotty) and the second will be compiled by dotty, the value
class encoding of scalac and dotty are not binary compatible.
This would not be a problem if we always used the `CollectionStrawMan5`
coming from the partest output directory and ignored the one in the
dotty sources, but which one gets picked depends on the classpath and whether compilation
is joined or separate, see #1301.
For now, it's safer and simpler to just avoid having tests which define
a class that is also defined in the sources of dotty.
Also, fix a bug in colltest4 where it was importing CollectionStrawMan5
instead of CollectionStrawMan4
|
|\ \ \ \
| | | | |
| | | | | |
fix #1354: improve type test of union types
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
|
| |/ /
|/| | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
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.
|
|\ \
| | |
| | | |
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.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we implement partial higher-order unification (SI-2712 fix)
i1181.scala will compile even if `Alias[Int]` gets dealiased to
`(Int, Int)` because we can unify the latter with `M[_]` where
`M = [X] -> (Int, X)`.
The new test will only succeed if `Alias[Int, Int]` is not dealiased
because we will never unify `Foo[Int]` with `M[_,_]`.
|
|\ \
| | |
| | | |
Fix #1386: Reduce double def errors
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix typing of match expressions
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Also fix reviewers comments about `firstParent`
|
| | |/
| |/|
| | |
| | |
| | | |
Allow matches between unapply types and selector type where a possible
overlap might exist.
|
|\ \ \
| |/ /
|/| | |
Changes to overloading
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Adds the original test form #1381. t2660 looks similar.
Also adds some unrelated tests I had in the queue that now
compile.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fix #1381: Overloading is now changed so that we first try without implicit searches.
Only if that leaves no applicable alternatives we try again with implicit search turned on.
This also fixes test case t2660, which got moved from neg to pos.
|
|\ \ \
| | | |
| | | | |
Fix 1365: Fix bindings in patterns
|