:: 方法中有一个“Lower Type Bounds”:
def ::[B >: A] (x: B): List[B] =
new scala.collection.immutable.::(x, this)
[B >: A]意思是B是A的Parent class,但是为什么Child Class的对象可以在::方法中传入呢?
class GP
class P extends GP
class C extends P
val li : List[P] = List[P](new P)
(new GP)::li // ok
(new C)::li // why here ok?
this (ndw C)::li // why here ok?
, (new C) 是 Child Class 的 obj 而不是 P 的 Super class,这不符合 [B >: A]) 吗?