<:<
is not an operator - it is an identifier and is therefore one of:
- the name of a type (class, trait, type alias etc)
- the name of a method/val or var
In this case, <:<
appears twice in the library, once in Predef
as a class and once as a method on Manifest
.
For the method on Manifest
, it checks whether the type represented by this manifest is a subtype of that represented by the manifest argument.
For the type in Predef
, this is relatively new and I am also slightly confused about it because it seems to be part of a triumvirate of identical declarations!
class <%<[-From, +To] extends (From) ? To
class <:<[-From, +To] extends (From) ? To
class =:=[From, To] extends (From) ? To
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…