aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg/t4877.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/neg/t4877.scala')
-rw-r--r--tests/untried/neg/t4877.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/untried/neg/t4877.scala b/tests/untried/neg/t4877.scala
new file mode 100644
index 000000000..8968a8a8f
--- /dev/null
+++ b/tests/untried/neg/t4877.scala
@@ -0,0 +1,22 @@
+trait C { }
+
+class A {
+ def foo: AnyRef { def bar: String } = new AnyRef { def bar = 42 }
+ def foo2: AnyRef { def bar: String } = new AnyRef { def bar = "abc" }
+ def foo3: AnyRef { def bar(x: Int): Int } = new AnyRef { def bar(x: Int) = "abc" }
+ def foo4: C { def bar(x: Int): Int ; def quux(x: Int): Int } = new C { def bar(x: Int) = 5 }
+}
+
+class B {
+ type Bippy = {
+ type Mom
+ def bar(x: Int): Mom
+ def bippy(): List[Mom]
+ }
+
+ val x: Bippy = new AnyRef {
+ type Mom = String
+ def bar(x: Int) = 55
+ def bippy() = List(bar(55))
+ }
+}