| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Change allow ex in hk
|
| |
| |
| |
| |
| |
| |
| | |
Reason: An inner Scala2 class might be shadowed by a same-named class in a subtype.
In Dotty this is disallowed butin Scala 2 it is possible. For instance, math.Numeric
and math.Ordering both have an inner class "Ops". Normal TypeRef types could not
select the shadowed class in Ordering is the prefix is of type Numeric.
|
| |
| |
| |
| |
| |
| |
| | |
There is still an issue because math uses inner classes named
Ops which shadow each other. Dotty can't handle it, so implicit
search in `range` goes wrong. The new test has been modified
to work around that issue.
|
| | |
|
|\ \
| | |
| | | |
Allow pattern matching anonymous functions of arity > 1
|
| | | |
|
| | |
| | |
| | |
| | | |
This is sepcified in Sec. 8.5 of the SLS. Fixes #873. Review by @smarter.
|
| | |
| | |
| | |
| | | |
As suggested by review.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`(_)` and `(_: T)` should not be converted to functions
x => x
(x: T) => x
|
| | | |
|
| | |
| | |
| | |
| | | |
Don't insert a constructor call when typechecking Java classes.
|
|\ \ \
| |/ /
|/| | |
Fix #884 - misdiagnosed ambiguous definition.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Universal equality strikes again. Caused a bug in
isDefinedInCurrentUnit.
|
|/ /
| |
| |
| | |
Fix a crash in Typer#assertPositioned
|
| |
| |
| |
| |
| | |
We did not handle correctly the case exemplified by `range.scala`: A module this type, which
is compared with a getter to the same module. Seen in the wild in scala.math.BigDecimal.
|
| | |
|
| |
| |
| |
| | |
Fix #738
|
|\ \
| |/
|/| |
Fix #830: Compiler hangs on implicit search with singleton &/|
|
| |
| |
| |
| |
| |
| | |
In fact we get a deep subtype recursion when compileing i830.scala. The problem
goes away once we make use of the fact that the intersection of two singleton
types which are not subtypes of each other is empty.
|
|\ \
| | |
| | | |
Fix #815.
|
| | |
| | |
| | |
| | | |
Need to handle hk-aliases specially in typedNew
|
|\ \ \
| | | |
| | | | |
Fix #831 object self
|
| | |/
| |/|
| | |
| | |
| | | |
Need to create a self symbols for modules with explicit self type, but need to take
care it is already typed, or sourceModule risks running into CyclicReferences.
|
|\ \ \
| |/ /
|/| | |
Add more tests
|
| |/ |
|
|/ |
|
|\
| |
| | |
Check that some types are not higher-kinded.
|
| |
| |
| |
| | |
Invalidates #813. Review by @darkdimius.
|
|\ \
| | |
| | | |
Always fully define the types of lifted expressions
|
| | |
| | |
| | |
| | | |
Fixes #822
|
|\ \ \
| |/ /
|/| | |
Fix various issues in `TypeAssigner#avoid`
|
| | |
| | |
| | |
| | | |
Fixes #741.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we need to avoid `A` in the class `A#B`, we can try to replace `A`
by a supertype. Previously, we only tried to replace `A#B` itself by a
supertype.
Fixes #711.
|
|\ \ \
| |_|/
|/| | |
Change inference
|
| | |
| | |
| | |
| | |
| | |
| | | |
We now also consider type variables in a selection prefix of the
application. The test case was augmented to include a snippet which
only succeeds under the generalization.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Change : freeze bounds
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| |
| |
| |
| | |
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.
|
|
|
|
| |
Desugaring worked incorrectly when both context bounds and default parameters were present.
|