小编exl*_*van的帖子

为什么Scala中具有不同组件顺序的复合类型是等效的?

根据Scala语言规范,

如果两个化合物类型的序列是成对等价的,并且以相同的顺序出现,则它们是等价的,并且它们的改进是等价的.如果它们绑定相同的名称,则两个细化是等效的,并且每个声明的实体的修饰符,类型和边界在两个细化中都是等效的.

但是,给定

trait A { val a: Int }
trait B { val b: String }
Run Code Online (Sandbox Code Playgroud)

我越来越

scala> implicitly[A with B =:= B with A]
res0: =:=[A with B,B with A] = <function1>
Run Code Online (Sandbox Code Playgroud)

即使组件的顺序不同,它们也被认为是等效的.为什么?

scala

6
推荐指数
1
解决办法
105
查看次数

标签 统计

scala ×1