I can't find the equivalent SLS for Scala 3. I am trying to slowly get myself into the Scala 3 mindset and write new code - and refactor old when next changed - so that its translation to Scala 3 is straightforward. Certain current usecases of type projections came to as a (very) indirect result of avoiding volatile class members.
I'll copy my comment from here:
Volatile types is a Scala-2 thing. They were a workaround to avoid issues caused by unsoundness of type projections:
Cannot override a type with non-volatile upper bound
In Scala 3 (general) type projections are dropped
https://dotty.epfl.ch/docs/reference/dropped-features/type-projection.html