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/t3199.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/t3199.scala')
-rw-r--r-- | test/files/continuations-run/t3199.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/continuations-run/t3199.scala b/test/files/continuations-run/t3199.scala new file mode 100644 index 0000000000..3fd2f1959a --- /dev/null +++ b/test/files/continuations-run/t3199.scala @@ -0,0 +1,20 @@ +import _root_.scala.collection.Seq +import _root_.scala.util.control.Exception +import _root_.scala.util.continuations._ + +object Test { + + trait AbstractResource[+R <: AnyRef] { + def reflect[B] : R @cpsParam[B,Either[Throwable, B]] = shift(acquireFor) + def acquireFor[B](f : R => B) : Either[Throwable, B] = { + import Exception._ + catching(List(classOf[Throwable]) : _*) either (f(null.asInstanceOf[R])) + } + } + + def main(args: Array[String]) : Unit = { + val x = new AbstractResource[String] { } + val result = x.acquireFor( x => 7 ) + println(result) + } + } |