Я вижу этот код в этом блоге: Программирование на уровне в Scala:
// define the abstract types and bounds
trait Recurse {
type Next <: Recurse
// this is the recursive function definition
type X[R <: Recurse] <: Int
}
// implementation
trait RecurseA extends Recurse {
type Next = RecurseA
// this is the implementation
type X[R <: Recurse] = R#X[R#Next]
}
object Recurse {
// infinite loop
type C = RecurseA#X[RecurseA]
}
В коде R#X[R#Next]
есть оператор #
, который я никогда не видел. Поскольку это трудно найти в нем (игнорируется поисковыми системами), кто может сказать мне, что это значит?