In the Scala language, a type projection `T#x` references the type member named `x` of type `T`.
According to §3.2.2 of the Scala language specification, a type projection T#x
references the type member named x
of type T
. For example if there was a trait Animal { type Food }
, then it is possible to refer to the type member Food
using the projection Animal#Food
. Unlike path-dependent types, this projection describes the Food
type for any type of Animal
, not a particular class or instance of Animal
.