summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-10-04 11:21:54 +0200
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-10-04 11:21:54 +0200
commitc1492ac08e69e64e258ee9c5a0e5173165f4cba1 (patch)
tree11b155006310ca98617f8294388cc5052b16c66f /test/files/pos
parent192d65f718ab042cb57090d580c83e15a0509964 (diff)
parent0d8ca1f5fe335565f861ce2c58f7f684f15a4064 (diff)
downloadscala-c1492ac08e69e64e258ee9c5a0e5173165f4cba1.tar.gz
scala-c1492ac08e69e64e258ee9c5a0e5173165f4cba1.tar.bz2
scala-c1492ac08e69e64e258ee9c5a0e5173165f4cba1.zip
Merge pull request #4024 from retronym/ticket/8217
SI-8217 allow abstract type members in objects
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/t3240.scala8
-rw-r--r--test/files/pos/t845.scala16
2 files changed, 24 insertions, 0 deletions
diff --git a/test/files/pos/t3240.scala b/test/files/pos/t3240.scala
new file mode 100644
index 0000000000..cf197a406d
--- /dev/null
+++ b/test/files/pos/t3240.scala
@@ -0,0 +1,8 @@
+class A {
+ val foo = new {
+ type t
+ def apply(a: Option[t], defVal: Any) = {
+ a.getOrElse(defVal).asInstanceOf[t]
+ }
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t845.scala b/test/files/pos/t845.scala
new file mode 100644
index 0000000000..ddf6a16f32
--- /dev/null
+++ b/test/files/pos/t845.scala
@@ -0,0 +1,16 @@
+package test;
+
+object Test extends App {
+ type Bar;
+ trait FooImpl;
+
+ trait Bob {
+ def bar : Bar with FooImpl;
+ }
+ def ifn[A,B](a : A)(f : A => B) =
+ if (a != null) f(a) else null;
+
+ val bob : Bob = null;
+ val bar = ifn(bob)(_.bar);
+ assert(bar == null);
+}