| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Add collection strawman #1
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This compiles only after the changes in this branch.
|
|\|
| |
| | |
Change : freeze bounds
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a diff, but a minor one. Instead of
(T? >: Int <: Int)
we get
(T? = Int) after pickling.
|
| |
| |
| |
| |
| | |
Iter2.scala fails with 6 errors, but succeeds once lubs and glbs do not try to
unify under invariant type constructors.
|
|\ \
| |/
|/| |
fix compiling ScalaRunTime.scala
|
| | |
|
| |
| |
| |
| |
| | |
A test that checked for errors on overloading
now succeeds with the new rules.
|
|/
|
|
|
|
|
|
| |
Whenchecking whether two denotations match it is not enough
to look at the signatures. The signatures might match (on the
parameters) but the actual parametre types might be different.
The change always tests infos after signatures, effectively
turning the signature test into a pre-filter.
|
|
|
|
| |
Fixes suggested by @marter when reviewing previous hk PR.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that asSeenFrom can produce types
that get projected with $apply but that are not
higher-kinded. An exampple failure is in Iter3,
andother in scala.collection.immutable.Map (which is
now part of the test suite).
We now detect that situation, and eta expand the
projected type in `derivedSelect`, this will
force a subssequent `lookupRefined` which will give
the desired normalized type.
Also added is a configurable test that checks that
$apply projected tyeps are in fact higher-kinded.
|
|
|
|
|
|
| |
The original IterableSelfRec is not syntactically legal after
the hk changes. I attempted to fix, but there's still a type error.
Need to investigate whether this is a true error or a bug.
|
|
|
|
| |
...unless the HK type can be eta-reduced to a class type.
|
|
|
|
|
| |
In Namer, eta expand any type argument that corresponds to a higher-kinded type parameter.
Also, check that all type parameter lists are fully applied.
|
| |
|
|
|
|
|
| |
Makes self types explicit, if this is needed to identify
a member in a select. Fixes #789.
|
| |
|
| |
|
|
|
|
|
| |
Check that calling a side effecting function returning
a constant type does not get suppressed.
|
|
|
|
| |
to test for propagation of constant types.
|
| |
|
|
|
|
| |
Should have been added on final vals commit.
|
|
|
|
| |
Desugaring worked incorrectly when both context bounds and default parameters were present.
|
|\
| |
| | |
Fix #756 super accessors
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix repeated
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
refOfDef is used in desugaring case classes, specifically the definition of an apply method.
Here it is necessary to pass a vararg argument (x: _*) if the case class parameter is repeated.
This functionality is now added to `refOfDef`. I verified that the other uses of `refOfDef` are
compatible with this change.
Fixes #768.
|
| | |
| | |
| | |
| | |
| | | |
Introduce a new non-terminal "SimpleLiteral". Only SimpleLiterals can be
types.
|
| | |
| | |
| | |
| | |
| | | |
Tested are now other numeric values, strings, booleans, which are
all legal singleton types.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Null and 'sym are not legal as singleton types because the underlying
values are not stable. They are rejected now outright instead of issuing
a cryptic "X is not stable" error message.
|
| | |
| | |
| | |
| | | |
It's decided that constant types and purity are independent.
|
|/ /
| |
| |
| |
| |
| | |
As the comment in pos/singletons.scala says, we currently
test only constant propagation during typer. We should also have a
test that literalize produces the literals in the right places.
|
|\ \
| | |
| | | |
Mixin: class defined abstract members take precedence over interface defined.
|
| |/ |
|
|/ |
|
|\
| |
| |
| |
| | |
dotty-staging/fix-liftedTry-capturedVars-interaction
Fix lift try and captured vars interaction
|
| |
| |
| |
| |
| | |
Checks the hypothesis that lifting a try may safely move expressions
into a ValDef owned by a new temp var.
|
| |
| |
| |
| |
| |
| | |
CapturedVars introduced an assignment that could cause a try to be
executed with a non-empty stack, even after LiftTry had already run.
We now avoid this by introducing a temporary variable.
|
|\ \
| | |
| | | |
Fixes to scala2 Mixin
|
| |/ |
|
|/ |
|
|
|
|
| |
TermRefs do not have a classSymbol.
|
|
|
|
| |
This reverts commit a43d39ad719978fbb36663f336c1c7cd2c4da1e0.
|
|
|
|
|
| |
Phase lifts tries that would be illegal because they execute on non-empty
expression stacks.
|
|
|
|
| |
Non-local returns are now implemented.
|