aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/typer/ProtoTypes.scala2
-rw-r--r--tests/pos/i1103.scala5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/ProtoTypes.scala b/src/dotty/tools/dotc/typer/ProtoTypes.scala
index 8a758bcc8..7997d1cf4 100644
--- a/src/dotty/tools/dotc/typer/ProtoTypes.scala
+++ b/src/dotty/tools/dotc/typer/ProtoTypes.scala
@@ -420,6 +420,8 @@ object ProtoTypes {
WildcardType(tp1a.bounds | tp2a.bounds)
else
tp.derivedOrType(tp1a, tp2a)
+ case tp: LazyRef =>
+ WildcardType
case tp: SelectionProto =>
tp.derivedSelectionProto(tp.name, wildApprox(tp.memberProto), NoViewsAllowed)
case tp: ViewProto =>
diff --git a/tests/pos/i1103.scala b/tests/pos/i1103.scala
new file mode 100644
index 000000000..dcc391a6a
--- /dev/null
+++ b/tests/pos/i1103.scala
@@ -0,0 +1,5 @@
+class Sys[S]
+class Foo[T <: Sys[T]] {
+ val t: T = ???
+ def foo[A <: Sys[A]](x: A = t) = x
+}