| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Type params should be computed before computing the whole info of
a type. Without the patch we get a cyclic reference in the compileMixed
test.
Note that compileIndexedSeq does not pass with this commit (it passed
before), this is fixed in the next commit.
|
|
|
|
|
|
|
| |
Need to also look info refined types.
Need to handle case where we hit a NoCompleter again.
Fixes #974 and makes MutableSortedSetFactory in stdlib compile.
|
|\
| |
| | |
Ycheck that scala.Array is erazed to either Object or JavaArrayType.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix #1009: Do not forget to skolemize some types
|
| | | |
|
|\ \ \
| |/ /
|/| | |
More tests
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In a situation like
List <: [X] -> <: GenTraversable[X]
We have to ask whether the rhs contains the instantiated lhs,
not whether it is a supertype.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Symbols can appear in patterns, so inserting an `apply` is wrong.
|
| | | |
|
| | |
| | |
| | |
| | | |
All pos tests up to 3999 have been triaged. One new test in pending.
|
| | |
| | |
| | |
| | |
| | | |
One error gest supporessed now because
it has the same position as a previous one.
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Let asSeenFrom generate a marker annotated type
for any unsafe instantiation. Then cleanup in
typedSelect.
|
| | |
|
|/
|
|
| |
The fix solves two cases where we had a deep subtype before.
|
|
|
|
| |
Closes #241 -- that took a while!
|
|
|
|
|
|
|
| |
We now get a cyclic reference when inheriting from an inner class
with the same name in an outer supertype. Since this was legal
in Scala2 it's good to explain that particular case. Test case
in overrideClass.scala
|
| |
|
|
|
|
|
|
|
|
|
| |
This is needed to ensure that the type of a definition node
(ValDef, TypeDef, or DefDef) always refers to the symbol of
that definition.
Caused a spurious error in selfReq to go away (so error count was
updated).
|
|
|
|
|
|
|
| |
Analogous to the previous situation where we do not report a data race
if the previous symbol comes from a superclass, we now do the same if
the previous symbol comes from a given self type. Makes overrideDataRace.scala pass,
and finally enables stdlib test with TraverableViewLike.scala added.
|
| |
|
|
|
|
|
| |
The change in subtyping led to a deep subtype recursion for sets.scala.
It seems legit, so the -Yno-deep-subtypes check is disabled.
|
|
|
|
|
|
| |
Previously adaptIfHK was performed on every type application. This made
t3152 fail. We now do this only on demand, in isSubType. t3152 now passes
again. But the change unmasked another error, which makes Iter2 fail to compile.
|
|
|
|
| |
Also: various cleanups to comments.
|
|
|
|
|
| |
Seems to be a hk-type inference issue. Needs further investigation but
is not high priority right now.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Done in order to keep the basics as simple as possible.
Treating existentially bound parameters as still instantiatable type
parameters does not seem to add anything fundamental, and makes the
type system less regular.
|
|
|
|
|
| |
Pickling/unpickling of STABLE modifier allows to fix problem with
unpickling of path-dependent types (#982)
|
|
|
|
|
|
|
| |
As demonstrated by tests/pos/hk-deep-subtype.scala, we can avoid some
deep subtype recursions that result in stack overflows by doing this.
Fix #943.
|
|
|
|
|
|
|
|
|
| |
Previously, `isAsSpecific(alt1, tp1, alt2, tp2)` did not handle
having `tp2` be a polymorphic non-method type like `[A]Foo[A]`.
Also update the documentation of `isAsSpecific` to account for this
change, the new documentation is based on SLS ยง 6.26.3 but
adapted to reflect the code.
|
|\
| |
| | |
Fix #938
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
... to show that we support implicit patterns.
|
|
|
|
|
|
| |
The previous test was too struct, missed cases where
some arguments of the function were unbound. i583a.scala
contains a test case.
|
|\
| |
| | |
Make Definitions survive recompilation of core definitions.
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise they would always return the symbol in the original context
where Definitions was first created.
Also, cache two more arrays of symbols per run.
|
| | |
|
|/ |
|
|\
| |
| | |
Require outer pointer also for proxies of enclosing classes.
|
| |
| |
| |
| | |
There was a missing case where an outer pointer is required.
|
|\ \
| | |
| | | |
Drop checking that lower bound is a subtype of upper bound.
|