scala> :power
scala> trait T
scala> val t = typeOf[T]
scala> val tr = RefinedType(List(t, typeOf[AnyRef]), EmptyScope)
scala> t =:= tr
val res0: Boolean = false
scala> t <:< tr
val res1: Boolean = true
scala> tr <:< t
val res2: Boolean = true
This leads to
scala> trait X { def f: Int }; trait T { def f: X }; class C extends T { def f = new X { def f = 1 } }
^
error: under -Xsource:3-cross, the inferred type changes to X [quickfixable]
The inferred type for f is RefinedType(List(X, AnyRef), Nil).
In 2.13.13:
This leads to
The inferred type for
f
isRefinedType(List(X, AnyRef), Nil)
.