| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Handle "missing args" case when expected type is a singleton type.
|
| |
| |
| |
| | |
Fixes #803.
|
|/
|
|
|
|
|
|
|
| |
It seems when unpickling nsc that some module classes come
without a source module. Survive this situation rather than
crashing. i859.scala is an example.
i859 compiles with the patch, but causes a deep subtype when unpickling.
Not sure whether scalac does the same.
|
| |
|
|
|
|
| |
This allows us to run compileStdLib without deep subtypes again.
|
|
|
|
|
| |
New test that exhibited the problem is ski.scala. Previously
this did not fail with a bounds violation.
|
|
|
|
| |
This makes compileIndexedSeq pass again.
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Add tests for dotc.typer pickling/unpickling
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
One error gest supporessed now because
it has the same position as a previous one.
|
|\ \
| | |
| | | |
Change distribute or
|
| | | |
|
| | |
| | |
| | |
| | | |
The fix solves two cases where we had a deep subtype before.
|
|\ \ \
| |/ /
|/| | |
Fix typo in command run by Jenkins
|
| |/
| |
| |
| | |
The effect of this typo was that Ycheck:tailrec was never run on Jenkins.
|
| |
| |
| |
| | |
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).
|
| |
| |
| |
| |
| | |
The change in subtyping led to a deep subtype recursion for sets.scala.
It seems legit, so the -Yno-deep-subtypes check is disabled.
|
| |
| |
| |
| | |
Also: various cleanups to comments.
|
|/
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
By linter:
comparing values of types Char and String using `!=' will always yield
true
|
|
|
|
|
|
|
|
| |
If `x` is not a function or method, then `x _` should be disallowed.
scalac accepts this and converts it to () => x instead. I'd like
to drop this because it's unnecessary and non-obvious. If
-language:Scala2 is on, the behavior is like Scala 2's but
a migration warning is issued.
|
|\
| |
| | |
Drop checking that lower bound is a subtype of upper bound.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
needed to turn some errors into warnings.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The included test
pos-special/variances-constr.scala
demonstrates an unsoundness in the variance checking of scalac.
Scalac excludes symbols owned by constructors from the
checking. This is unsound, as can be demonstrated by compiling the test
and observing output of the program run:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at Test$.main(variances-constr.scala:17)
at Test.main(variances-constr.scala)
Dotty allows this code only under -language:Scala2 and issues a migration warning.
|
|\
| |
| | |
Deal gracefully with missing return types of abstract menthods.
|
| |
| |
| |
| |
| |
| |
| | |
1) Better error message: "missing return type" instead of `=' expected.
2) Allow them under language:Scala2
Fixes #871
|
| | |
|