Skip to content

T =:= RefinedType(List(T, AnyRef), Nil) is false #12968

Open
@lrytz

Description

@lrytz

In 2.13.13:

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions