scala和dotty的下限和上限类型

scala和dotty的下限和上限类型,scala,generics,Scala,Generics,Martin Odersky说,他们在dotty中引入了复合和交叉类型。在他的幻灯片上,有两张图片代表了新旧类型系统上下限的差异 这是旧的: 这是新的: 有人能解释一下T的实际上界是什么吗?如果T:U,那么U,但是T怎么可能来自不同的继承层次结构,而不是U如果T和U是两种任意类型,那么T&U是T和U的最大下界,T | U是T和U的最小上界。 T with U <: T T with U <: U U with T <: T U with T <: U T & U

Martin Odersky说,他们在dotty中引入了复合和交叉类型。在他的幻灯片上,有两张图片代表了新旧类型系统上下限的差异

这是旧的:

这是新的:


有人能解释一下T的实际上界是什么吗?如果T:U,那么U,但是T怎么可能来自不同的继承层次结构,而不是U如果T和U是两种任意类型,那么T&U是T和U的最大下界,T | U是T和U的最小上界。
T with U <: T
T with U <: U
U with T <: T
U with T <: U
T & U =:= U & T
T | U =:= U | T
T & U <: T
T & U <: U
T <: T | U
U <: T | U
T with U =:= T
T & U =:= T
T | U =:= U
T with U =:= U
T & U =:= U
T | U =:= T
T <: Any
U <: Any