| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we sometimes ended up forcing a companion class symbol from
a previous run or from the classpath which lead to weird issues like in
`false-companion`. Even if we end up not forcing such a symbol, its
presence can still lead to issue: before this commit incremental
compilation of `dotty-compiler-bootstrapped` was broken because we
recorded a false dependency on the non-bootstrapped `dotty-compiler`
jar.
The added test is currently marked pending because it does not work with
JUnit (which doesn't handle separate compilation), only partest. I
didn't managed to get it to work right, and this won't be necessary once
our testing framework is overhauled by
https://github.com/lampepfl/dotty/pull/2125 anyway, so I'll just have to
remember to enable this test afterwards.
|
| |
|
|
|
|
|
|
|
|
| |
I believe this worked only accidentally because we matched
more things with wildcards which turned out to be flawed. The test
errors show some funky _#_ types, so not sure whether the tests
are still valid or not. Moved back to pending awaiting further
resolution.
|
|
|
|
|
| |
These now compile with the changes to dependent methods, except
for one which is invalid under dotty.
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
If PolyTypes are to become value types we want to keep `=>` as the arrow
for consistency. `->` should be reserved for PolyTypes that do not have
side effects on instantiation.
|
|\
| |
| | |
Fix #1457: Three incompatbilities with scalac
|
| |
| |
| |
| |
| |
| |
| |
| | |
Two of these are unavoidable. I moved the tests to diabled/not-representable
and added in each case a comment to the main scala file detailing why there
is a deviation.
The last one (import-rewrite) is fixed.
|
|\ \
| | |
| | | |
Fixes for scala.Dynamic
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
type.
Test case is isApplicableSafe -Ycheck:first.
|
| | |
|
| | |
|
| |
| |
| |
| | |
We did not properly rename parameter references before.
|
| |
| |
| |
| |
| |
| | |
We now always widen selector type to the superclass if necessary,
no matter whether the selector type refers to a trait or a proper
class.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The special case in hasMatchingMember dealing with self-refential
members has to be generalized to deal lower and upper bounds.
Test case is t762.scala
|
| |
| |
| |
| | |
Fixes SI-7426, which caused a double definition before.
|
| |
| |
| |
| |
| |
| |
| | |
Fallback to .filter if a .withFilter is not available, but do this
only for .withFilter calls generated from for expressions (this is
different from what scalac does; the latter can also rewrite
.withFilter calls given in source, which is not desirable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Passing tests from pending/pos go in pos. Some others
go in diabled/not-testable. These are tests that require
a compilation order which we cannot yet do with our unit
testing framework. Compiling them alltogether (as is now
doen in junit) does not work either for them because they
contain a duplicate class.
|
| |
| |
| |
| |
| | |
This one failed in getters before because a (previously unchecked) assignment
was turned into a checked application. Now it passes.
|
|\ \
| |/
|/| |
Make sure arguments are evaluated in the correct typer state.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's a tricky interaction with caching of typed arguments in FunProto types
and backtracking using different typer states. We might end up with a typed
argument that is evaluated in one typer state and that is used in another. The
problem is that the argument typing might have inserted type variables (maybe
by adding polymorphic implicit views) that are not registered in the typer
state in which the application is finally typed. In that case we will see
an "orphan poly parameter" in pickling.
The fix is to discard argument types is their typerstate is not committed
to the one in which the application is finally typed. To apply the fix we
need to track
- for typer states: whether or not it was committed, and what its parent is.
- for function prototypes: the typer state in which an argument with cached type
was evaluated.
Test case is t1756.scala, which produced an "orphan poly parameter CI" before.
|
|/
|
|
|
|
| |
Using Scala 2.11.8 and dotty at bcfa3be8cfe2be.
cc/ #1457
|
|\
| |
| | |
Refinements to auto-tupling
|
| |
| |
| |
| |
| |
| | |
- Delete redundant t2660 (exists elready in pos)
- Comment t1756
- Recategorize tryexpr
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's a nasty interaction with auto-tupling and trying to insert an implicit
on the qualifier of a call. If the original call fails, we need to "undo" any
auto-tupling decisions in calls where an implicit is inserted on the qualifier.
Also: Needed to fix canAutoTuple test so that Scala2 feature is checked instead of dotty's.
Also: Drop features in dotty.language that duplicate those in scala.language.
|
| |
| |
| |
| | |
Bring in line with comparisons. Fixes z1720 for good.
|
|/
|
|
|
| |
Needed to address problem shown by z1720.scala.
Another fix to avoidance is needed to make it pass completely.
|
| |
|
|
|
|
|
|
| |
Eta expansion yielded incorrect result if the eta expanded method
has more than one parameter sections and the expected result type
is a unary function type. In that case a postfix `_' needs to be appended.
|
|
|
|
| |
Turn assertion into test. Without this, neg/tcpoly_overloaded.scala fails.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Currently, the classfiles emitted by dotty do not contain the type
parameters information that javac relies on.
Fixing this is tracked by #1303.
|
|
|
|
| |
This was fixed two commits ago.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Map self-references in refinements to recursive types. This
commit does this for refinement types appearing in source.
We still have to do it for unpickled refinements.
Test apply-equiv got moved to pending because it simulates
the old higher-kinded type encoding in source, which relies
on the old representation in terms of self-referential refinement
types. The plan is not to adapt this encoding to the new
representation, but to replace it with a different encoding
that makes critical use of the added power of recursive types.
Use recursive types also when unpickling from Scala 2.x.
Add mapInfo method to Denotations.
|
|
|
|
|
|
|
|
|
|
| |
Also, check that pattern matching against idents/selects/literals makes
sense.
The hooks perform an implicit search for an instance of `Eq[L, R]`, where
`L`, `R` are the argument types. So far this always succeeeds because Eq.eqAny
matches all such types. A separate commit will check the returned
search term for validity.
|
|\
| |
| | |
Fix Tasty errors
|
| |
| |
| |
| |
| |
| |
| | |
1) Move passing test to pickling
2) Add test case for #1212 in pending
3) Disable annotations/internal in pickling tests. They lead to a stable symbol error
which is explainable (modifiers are read before symbol is created).
|
|/ |
|
|
|
|
| |
Some random neg tests from previous experiments.
|
| |
|
| |
|