| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been flip-flopping on this one through the years, right
now we issue an two errors for the enclosed test.
After this commit, variance validation only expands aliases that
are `{private,protected}[this]`. The rest need not be expanded,
as we have already variance validated the RHS of the alias.
It also removes a seemingly incorrect check in `isLocalOnly`.
This also means that we can use `@uncheckedVariance` to create
variant type aliases for Java interfaces.
However, if such a type alias is declared private local, it
*will* be expanded. That shouldn't be a problem, other than
for the fact that we run through an as-seen-from that strips
the `@uV` annotations in the type expansion. This has been
recorded in a pending test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refinement types are collapsed to a TypeTree with an original
during type checking; this was enough to evade variance validation
in refchecks.
This commit:
- validates the original of `TypeTree`s in refchecks
- changes VarianceValidator to recurse into:
- the originals of `TypeTree`s
- `TypTree` (to cover, e.g. `CompoundTypeTree` / `SelectFromTypeTree`)
It also finds an unreported variance violation in an existing
test case, variances.scala. This looks to be legitimate.
|
|
|
|
|
|
|
| |
This wasn't as bad as it could have been. All these changes
plug soundness holes in trunk. Mostly we're looking at type
aliases which were merely protected when they had to be
protected[this] not to allow unsound variance crossover.
|
|
|
|
|
|
|
|
| |
"References to the type parameters in object-private or
object-protected values, variables, or methods (ยง5.2) of
the class are not checked for their variance position."
Review by @odersky.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Added *.log and build/ to gitignore so partest/ant artifacts don't show
up in our commit messages. Also fixed whitespace issues arising from the
filter-branch history rewrite for git move.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Proliferating the number of debugging modes because it's still way
too hard to see what's going on in there. Until we get hubert's type
debugger with its whiz-bang whizbanginess, we'll have to struggle along
with somewhat prettier ascii. This introduces:
-Yinfer-debug
which tries to print in readable fashion what is happening in the
worlds of inference and implicit search. It should be made a bit more
complementary and less overlappy with -Ytyper-debug. No review.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
added comments; better errror messages; trace utility
|
| |
|
| |
|
|
|
|
|
|
|
| |
classOf[Integer] now properly resolves to classOf[java.lang.Integer]
because Predef.Integer (and Character) are @deprecated, had to update
check files to include these warnings
|
| |
|
|
|
|
|
| |
Capitalized type params in Predef, fixed bug in URLZipArchive
|
| |
|
| |
|
|
|
|
|
| |
Removed old scala tests from new Scala core module.
|
|
|