aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2017-04-11 17:07:08 +0200
committerMartin Odersky <odersky@gmail.com>2017-04-11 17:07:46 +0200
commit35d0acdad24717c1843304fd5eb124313658e7d2 (patch)
tree6f9caaf450959f58a1c77c1829a6a63b18add7e4 /tests
parent9917029becab32d56e786ac9309ee195737f6da0 (diff)
downloaddotty-35d0acdad24717c1843304fd5eb124313658e7d2.tar.gz
dotty-35d0acdad24717c1843304fd5eb124313658e7d2.tar.bz2
dotty-35d0acdad24717c1843304fd5eb124313658e7d2.zip
Add fullyDefinedType for class parent types
If we do not do that, any type variables in the parent type get interpolated later, when the whole primary constructor is typed. But by then we miss the context of what their variance was.
Diffstat (limited to 'tests')
-rw-r--r--tests/pos/i2218.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/pos/i2218.scala b/tests/pos/i2218.scala
new file mode 100644
index 000000000..fbede8b9b
--- /dev/null
+++ b/tests/pos/i2218.scala
@@ -0,0 +1,9 @@
+trait Rule[In]
+
+class C {
+ def ruleWithName[In](f: In => Int): Rule[In] = {
+ new DefaultRule(f) {}
+ }
+
+ class DefaultRule[In](f: In => Int) extends Rule[In]
+}