| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
If the object was explicitly written, it might be
referenced, even if it is empty.
|
|
|
|
|
|
|
|
|
|
| |
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 operations to NameOps to detect and produce names
for lazy locals.
@darkdimius Maybe there is already another way to do this?
I could not find it.
|
|\
| |
| | |
Enable tests for old fixed issues
|
|/
|
|
| |
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.
|
| | |
|
| |
| |
| |
| | |
should be terated analogous to lazy vals for realizability checking.
|
| |
| |
| |
| | |
These are replaced by the realizibility logic.
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| | |
Need to demand "effecively final" instead of `is(Final)`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EffectivelyFinal came without documentation, so it was not clear
what is was supposed to compute. I looked at the use sites, and it
seems that all they need is "impossible to override". So I changed
the code to do that and dropped the additional condition that
members of modules or final classes were not allowed to be lazy or
mutable. It was not clear to me what that had to do with finality.
|
| |
| |
| |
| | |
Types is already big enough.
|
| |
| |
| |
| |
| |
| | |
Distinguish between isStable and isRealizable.
Issue migration warnings for realizibility failures.
Provide error diagnostics why something is not realizable.
|
| |
| |
| |
| | |
Fixes #50.
|
| |
| |
| |
| | |
This prepares the way for using isRealizable in different contexts.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Unlike arrays of objects, that can be accessed as an array
of a super type of this object,
int[] cannot be accessed as an array of primitives.
|
|\ \ \
| | | |
| | | | |
Handle "missing args" case when expected type is a singleton type.
|
| | |/
| |/|
| | |
| | | |
Fixes #803.
|
|\ \ \
| | | |
| | | | |
Hide stack traces behind -Ydebug
|