diff options
Diffstat (limited to 'tests/pending/pos/channels.scala')
-rw-r--r-- | tests/pending/pos/channels.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/pending/pos/channels.scala b/tests/pending/pos/channels.scala new file mode 100644 index 000000000..b2f0cdc32 --- /dev/null +++ b/tests/pending/pos/channels.scala @@ -0,0 +1,29 @@ +class Channel[a] + +import collection.mutable.Set + +case class ![a](chan: Channel[a], data: a) + +/* +object Bang { + def unapply[a](x: ![a]): Option[{Channel[a], a}] = + Some(x.chan, x.data) +} + +*/ +object Test extends App { + object IC extends Channel[Int] + def f[b](x: ![b]): Int = x match { + case send: ![c] => + send.chan match { + case IC => send.data + } + } +} + +object Test2 extends App { + object IC extends Channel[Set[Int]] + def f[b](s: ![b]): Set[Int] = s match { + case IC ! x => x + } +} |