## Compiler version This broke after #19871 was merged. It works in d2a6392131001af941b0614c9e6d812e8c761965 ## Minimized code `A_1.scala`: ```Scala package a trait Expr: type Value object Expr: type Of[V] = Expr { type Value = V } type ExtractValue[E <: Expr] = E match case Expr.Of[v] => v ``` `B_2.scala` ```scala package a trait TC[E <: Expr]: type Elem = Expr.ExtractValue[E] class BIExpr extends Expr: type Value = BigInt class Foo extends TC[BIExpr]: val v: Elem = 0 ``` ## Output ```scala > scalac A_1.scala B_2.scala -d join_out > scalac A_1.scala -d a_out > scalac B_2.scala -classpath a_out -d b_out -- [E007] Type Mismatch Error: B_2.scala:8:16 8 | val v: Elem = 0 | ^ | Found: (0 : Int) | Required: Foo.this.Elem | | The following import might fix the problem: | | import scala.math.BigInt.int2bigInt | ``` ## Expectation Join and separate compilation should both compile.