| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
There is a before/after difference having to do with the
order in which class declarations show up.
|
|
|
|
|
|
| |
Named parameters cause some elements to be unpickled
in a different order as they are pickled. In particular
term parameter aliases and type parameter aliases seem to be swapped.
|
| |
|
| |
|
|\
| |
| | |
ProtoTypes#wildApprox: fix LazyRef approximation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before this commit, the output of `wildApprox(A)` where `A <: Sys[LazyRef(A)]` was
`? <: Sys[LazyRef(() => wildApprox(A))]`. This lead to infinite
subtyping checks.
This is fixed by always approximating a LazyRef by an unbounded
wildcard. Since we only create LazyRefs when we encounter a cycle, this
should be safe.
Fix #1103.
|
|\ \
| |/
|/| |
Implement auto tupling of function arguments
|
| |
| |
| |
| | |
Former test no longer allowed after conforms/compatible change.
|
| |
| |
| |
| | |
As retronym noted on #897, `val` forces to early.
|
| |
| |
| |
| |
| |
| |
| | |
Was: corresponding parameter types "are compatible".
Now: corresponding parameter types "conform".
This avoids the inconsistency mentioned by @retronym in #897.
|
| |
| |
| |
| | |
Tests suggested by @retronym's comments on issue #897.
|
| |
| |
| |
| | |
Implements SIP #897.
|
|\ \
| | |
| | | |
Handle implicits with default parameters.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Dotty REPL initial version
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
Got deleted by accident. Version in run has object
renamed to prevent case clashes on MacOS. Version that
exhibits the clash is in pending/run.
|
|/ /
| |
| |
| |
| | |
1. Add errors in case of incorrect parameter;
2. Improvement to error message if value class is defined as a local class;
|
|\ \
| |/
|/| |
Drop empty companion objects
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The underlying problem on MacOS/Windows remains:
We have a class `B` and an object `b` in the same scope.
We used to get a conflict on `B$/b$` because we created
an empty companion object for `B`. Now we get a conflict
for `B/b`, because the `b` object creates to classes:
`b.class` an `b$.class` and `b.class` clashes with `B.class`.
|
|\ \
| | |
| | | |
Add test case for #645
|
| |/ |
|
| | |
|
|/
|
|
|
|
|
|
| |
An `C.this` term with erroneous class `C` will get a
`NoPrefix` type. A subsequent implicit search on this
crashed. This is fixed now.
Fixes #324.
|
|
|
|
| |
Fix #530, #654, #681, #684, #685
|
|\
| |
| | |
Change is volatile
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Move logic from TypeOps to new file CheckRealizable.scala.
Also check realizable fields under strict mode.
Check at phase PostTyper rather than Typer to avoid cycles.
New tests for imports and deep paths.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The lines in question now cause an error ("cannot be instantiated...")
which masks the real tests at phase PostTyper.
Also adapt bugcount of hklower test
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If `T` is a member of `p` then
{ import p._; ... T ... }
should be checked in the same way as
{ ... p.T ... }
|
| |
| |
| |
| |
| | |
Fix wording so that it works for nested errors as well.
Incorparte Tiark's latest example.
|
| |
| |
| |
| |
| |
| | |
Reason: They might be overridden by other lazy vals
that are not realizable, and therefore risk creating
bad bounds.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Tests with failed projections are moved to pos-scala2, which
was renamed from pos-special. Files in pos-scala2 are compiled
with -language:Scala2 option.
|
| |
| |
| |
| | |
Fixes #50.
|
| |
| |
| |
| |
| |
| |
| | |
Replaces isVolatile, which is too weak (and more complicated).
Backwards compatibility with Scala2 is ensured by dropping the
requirement in Scala2 mode.
Fixes #1047, which now compiles without inifinite recursion.
|
| | |
|
|\ \
| |/
|/| |
Prune constraints that could turn into cycles
|
| |
| |
| |
| | |
Fixes #864. Review by @smarter.
|
|\ \
| | |
| | | |
Fix #1045
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The test checks that Scala collections perform within 10x of Java collections.
That's not something we need to test for dotty. And because of the heavily
parallel execution of the tests it does not always hold. This is the second
time in a a month that this particular test failed on jenkins. I think we lost
enough cycles on it.
|
| | |
| | |
| | |
| | |
| | | |
See comment in Typer#approximateUnion for an explanation.
Fixes #1045.
|
| |/
| |
| |
| |
| | |
This gives in general a supertype, that's OK for approximation.
See ee76fda for an explanation.
|
|\ \
| | |
| | | |
Fix #1065 erasedLub for arrays of primitives.
|
| |/ |
|
|\ \
| | |
| | | |
Handle "missing args" case when expected type is a singleton type.
|
| |/
| |
| |
| | |
Fixes #803.
|