aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/t3951/Coll_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/t3951/Coll_1.scala')
-rw-r--r--tests/untried/pos/t3951/Coll_1.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/untried/pos/t3951/Coll_1.scala b/tests/untried/pos/t3951/Coll_1.scala
new file mode 100644
index 000000000..556c84868
--- /dev/null
+++ b/tests/untried/pos/t3951/Coll_1.scala
@@ -0,0 +1,36 @@
+trait Document {
+ sealed trait FieldBase
+ trait StaticFieldBase extends FieldBase with StaticDocument
+ trait DynamicFieldBase extends FieldBase with DynamicDocument
+}
+
+sealed trait StaticDocument extends Document {
+ abstract class AbstractField extends FieldBase
+}
+
+sealed trait DynamicDocument extends Document {
+ abstract class AbstractField extends FieldBase
+}
+
+class Coll extends StaticDocument
+
+// similiar issue with annotations
+class ann[T] extends annotation.StaticAnnotation
+
+trait StatDoc extends Doc {
+ @ann[StatFB]
+ def foo: Int
+}
+
+trait Doc {
+ @ann[DynDoc#ForceDynDoc]
+ def bar: Int
+ trait StatFB
+ trait DynFB
+}
+
+trait DynDoc extends Doc {
+ @ann[DynFB]
+ def baz: Int
+ trait ForceDynDoc
+}