diff options
author | Paul Phillips <paulp@improving.org> | 2010-10-03 03:19:21 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-10-03 03:19:21 +0000 |
commit | 2fefb37220f82300e2aa44442f1a42261d65e359 (patch) | |
tree | 24267661fa20065cf33c70d9860774b145673565 /test/pending/neg/bug963.scala | |
parent | 943fbb1363345fdaca55e5df95059e8ce8c1344b (diff) | |
download | scala-2fefb37220f82300e2aa44442f1a42261d65e359.tar.gz scala-2fefb37220f82300e2aa44442f1a42261d65e359.tar.bz2 scala-2fefb37220f82300e2aa44442f1a42261d65e359.zip |
One last batch of test cleanups and I think I'l...
One last batch of test cleanups and I think I'll call it a day. If
you're worried I didn't leave any for anyone else, let me put your fears
to rest. PLENTY left to sift through. No review.
Diffstat (limited to 'test/pending/neg/bug963.scala')
-rw-r--r-- | test/pending/neg/bug963.scala | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/pending/neg/bug963.scala b/test/pending/neg/bug963.scala new file mode 100644 index 0000000000..430ef090e4 --- /dev/null +++ b/test/pending/neg/bug963.scala @@ -0,0 +1,26 @@ +// 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) +} |