我正在阅读Akka源代码,我遇到了以下
type Repr[+O] <: FlowOps[O, Mat] {
type Repr[+OO] = FlowOps.this.Repr[OO]
type Closed = FlowOps.this.Closed
}
type Closed
有人可以解释一下这里发生了什么吗?
答案 0 :(得分:2)
FlowOps[O, Mat] {
type Repr[+OO] = FlowOps.this.Repr[OO]
type Closed = FlowOps.this.Closed
}
是compound type with a refinement。也就是说,FlowOps[O, Mat]
本身可以包含任何Repr
和Closed
类型的成员;在这里我们需要特定的。此类型用作类型成员type Repr[+O]
的上限。