diff options
author | Paul Phillips <paulp@improving.org> | 2010-05-06 16:37:13 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-05-06 16:37:13 +0000 |
commit | c55b106f503d5e712e69823cfeb1cab2460221eb (patch) | |
tree | a1af091d9a2eeb16ee4747930511db4996c47140 /test/files/continuations-run/t3225.scala | |
parent | cb35c38f14f6a53c38966bde8e64dcfa9af17918 (diff) | |
download | scala-c55b106f503d5e712e69823cfeb1cab2460221eb.tar.gz scala-c55b106f503d5e712e69823cfeb1cab2460221eb.tar.bz2 scala-c55b106f503d5e712e69823cfeb1cab2460221eb.zip |
Rolled partest back to r21328.
changes necessary to plug it back in while preserving everything which
has happened since then in tests and such, but we should be the lookout
for overreversion. Review by phaller (but as a formality, I don't think
it requires direct review.)
Diffstat (limited to 'test/files/continuations-run/t3225.scala')
-rw-r--r-- | test/files/continuations-run/t3225.scala | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/files/continuations-run/t3225.scala b/test/files/continuations-run/t3225.scala new file mode 100644 index 0000000000..ecfde279cf --- /dev/null +++ b/test/files/continuations-run/t3225.scala @@ -0,0 +1,56 @@ +// $Id$ + +import scala.util.continuations._ + + +object Test { + + class Bla { + val x = 8 + def y[T] = 9 + } + +/* + def bla[A] = shift { k:(Bla=>A) => k(new Bla) } +*/ + + def bla1 = shift { k:(Bla=>Bla) => k(new Bla) } + def bla2 = shift { k:(Bla=>Int) => k(new Bla) } + + def fooA = bla2.x + def fooB[T] = bla2.y[T] + + def testMono() = { + println(reset(bla1).x) + println(reset(bla2.x)) + println(reset(bla2.y[Int])) + println(reset(bla2.y)) + println(reset(fooA)) + println(reset(fooB)) + 0 + } + + def blaX[A] = shift { k:(Bla=>A) => k(new Bla) } + + def fooX[A] = blaX[A].x + def fooY[A] = blaX[A].y[A] + + def testPoly() = { + println(reset(blaX[Bla]).x) + println(reset(blaX[Int].x)) + println(reset(blaX[Int].y[Int])) + println(reset(blaX[Int].y)) + println(reset(fooX[Int])) + println(reset(fooY[Int])) + 0 + } + + + // TODO: check whether this also applies to a::shift { k => ... } + + def main(args: Array[String]) = { + testMono() + testPoly() + } + +} |