trait
SelfType[A] extends AnyRef
Type Members
-
abstract
type
Out
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
def
+(other: String): String
-
def
->[B](y: B): (SelfType[A], B)
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
-
-
-
-
def
finalize(): Unit
-
def
formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
def
→[B](y: B): (SelfType[A], B)
Inherited by implicit conversion any2stringadd from
SelfType[A] to any2stringadd[SelfType[A]]
Inherited by implicit conversion StringFormat from
SelfType[A] to StringFormat[SelfType[A]]
Inherited by implicit conversion Ensuring from
SelfType[A] to Ensuring[SelfType[A]]
Inherited by implicit conversion ArrowAssoc from
SelfType[A] to ArrowAssoc[SelfType[A]]
A type class that extracts the self-type of
A
.Given a compound type,
then the self type should be a compound type of each mix-in part,
and the self type should not contain the refinement statements
"implicitly[selfType.Out <:< { type MyRefinement = Int }]" shouldNot typeCheck
Given a trait with an explicit self-type declaration,
then the self type should be itself with the type of
this
.Given a trait without an explicit self-type declaration
trait MyTrait
Then the self type should be itself