| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
... 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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
As discussed in #780 and #525, the test is not needed. This makes
t1279a compile, which got moved now to pos. Fixes #780 and #915.
It also makes scala.List compile. Review by @smarter.
|
|\ \ \
| |/ /
|/| | |
Fix numeric implicit args
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Compiling scala.math.BigDecimal and scala.math.BigInteger shows a problem.
The conversion `int2bigInt` is not applicable to a Byte because `Byte -> Int`
requires another implicit conversion.
We fix that by using a new method relaxed_<:< for implicit compatibility checks,
which always admits numeric widenings.
This leads to another problem. Now the conversions
implicit def byteToInt(x: Byte): Int
implicit def byteToShort(x: Byte): Short
are ambiguous when we try to convert from Byte to Int.
We fix that by adding a "tie-break" to implicit search
where if several methods match a numeric value result type
and all have numeric value types as result types, we
pick the numerically largest type that matches.
|
|\ \
| | |
| | | |
Fix #877
|
| | |
| | |
| | |
| | | |
Use freshName to name evidence parameters.
|
|\ \ \
| | | |
| | | | |
Fix #851 Java parsing forgot type parameters
|
| | |/
| |/|
| | |
| | | |
Fixes #851.
|
|\ \ \
| | | |
| | | | |
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.
|
| | | |
|