| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
generation"
This reverts commit cafd71af4902c76561f27a479c14e53729600bb9.
For the future refference: tests and checkfiles should be modified only after carefull thought.
Otherwise our tests will stop indicating the correct behaviour.
|
|
|
|
| |
This reverts commit 8f90105dc4e62e78d53b385df1b2eb29f2855183.
|
| |
|
|
|
|
|
| |
See https://github.com/lampepfl/dotty/pull/624#issuecomment-107064519
for a lengthy explanation.
|
| |
|
|
|
|
|
|
| |
class is also the top-level class"
This reverts commit 6898d2c296326779d373ef0e0b84e4451550120a.
|
|\
| |
| | |
Add a test for supercalls in traits.
|
| |
| |
| |
| | |
Also added non-unit fields and a class that directly implements two traits with the same fields.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Also mark the forwarder as Stable otherwise we get a RefChecks error.
This fixes #608.
Note that we do less parameter forwarding than scalac. See for example D
and Y in tests/run/paramForwarding.scala which don't get their own local
fields in scalac but do in dotty.
|
| |
|
|
|
|
|
|
| |
Both tests fail with the same error: "Cannot create object because
protected[this] newBuilder is not implemented". Not clear why partests
claim to succeed here.
|
|
|
|
|
|
|
|
|
| |
As the comment in the code says:
"In general, a bridge is needed when the signature of the closure method after
Erasure contains an ErasedValueType but the corresponding type in the functional
interface is not an ErasedValueType."
So we need to check if _at least one_ of the type needs to be adapted,
not if _all of them_ need to, the use of "forall" was an error.
|
| |
|
|
|
|
| |
Note that some of them may pass due to several bugs that interfere.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, the following code:
trait Hello {
println("Hello")
val x: Int = 1
println("World")
}
Became:
<trait> trait Hello extends Object {
def <init>(): Hello = {
{
()
}
this
}
<accessor> def x(): Int
protected def initial$x(): Int = {
println("Hello")
1
}
}
Notice that the initialization statements after the last getter were
missing, this is now fixed:
<trait> trait Hello extends Object {
def <init>(): Hello = {
{
println("World")
()
}
this
}
<accessor> def x(): Int
protected def initial$x(): Int = {
println("Hello")
1
}
}
|
|
|
|
| |
also the top-level class
|
| |
|
|
|
|
|
| |
Erasure#isUnbox was incorrect: the unbox methods are defined on the
value classes, not the boxed classes.
|
| |
|
| |
|
|
|