27 lines
402 B
Scala
27 lines
402 B
Scala
// Soundness bug, at #963 and dup at #2079.
|
|
trait A {
|
|
type T
|
|
var v : T
|
|
}
|
|
|
|
object B {
|
|
def f(x : { val y : A }) { x.y.v = x.y.v }
|
|
|
|
var a : A = _
|
|
var b : Boolean = false
|
|
def y : A = {
|
|
if(b) {
|
|
a = new A { type T = Int; var v = 1 }
|
|
a
|
|
} else {
|
|
a = new A { type T = String; var v = "" }
|
|
b = true
|
|
a
|
|
}
|
|
}
|
|
}
|
|
|
|
object Test extends Application {
|
|
B.f(B)
|
|
}
|