aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/unapplyVal.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/unapplyVal.scala')
-rw-r--r--tests/untried/pos/unapplyVal.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/untried/pos/unapplyVal.scala b/tests/untried/pos/unapplyVal.scala
new file mode 100644
index 000000000..368b9b937
--- /dev/null
+++ b/tests/untried/pos/unapplyVal.scala
@@ -0,0 +1,37 @@
+package test // bug #1215
+
+class Async {
+ def unapply(scrut: Any): Option[Any] = None
+}
+
+class Buffer {
+ val Put = new Async
+ //case class Put(x: Int)
+
+ def joinPat(x: Any): Unit = {
+ x match {
+ case Put =>
+ case Put(y) =>
+ println("returning "+y)
+ }
+ }
+}
+
+
+object unapplyJoins extends App { // bug #1257
+
+ class Sync {
+ def apply(): Int = 42
+ def unapply(scrut: Any): Boolean = false
+ }
+
+ class Buffer {
+ object Get extends Sync
+
+ val jp: PartialFunction[Any, Any] = {
+ case Get() =>
+ }
+ }
+
+ println((new Buffer).jp.isDefinedAt(42))
+}