Shift

object Shift extends LowPriorityShift0
trait LowPriorityShift0
trait LowPriorityShift1
class Object
trait Matchable
class Any

Type members

Classlikes

trait StackSafeShiftDsl[Domain, NewDomain, Value] extends Dsl[Domain => Value, NewDomain, Value]

Value members

Concrete methods

def apply[R, A](continuation: R !! A): R => A

Givens

Givens

given IsKeyword_Shift_Value[Domain, Value]: IsKeyword[Domain => Value, Value]

Inherited givens

given `SameDomainStackSafeShiftDsl_!!_Value`: SameDomainStackSafeShiftDsl[LeftDomain !! RightDomain, Value]
Inherited from
LowPriorityShift0

Extensions

Extensions

extension [R, A](shift: R => A)
def continuation: R !! A

Implicits

Implicits

@inline
implicit
def implicitShift[Domain, Value](fa: Domain !! Value): Domain => Value
@inline
implicit
def stackSafeThrowableShiftDsl[LeftDomain, Value]: SameDomainStackSafeShiftDsl[LeftDomain !! Throwable, Value]
@inline
implicit
def tailRecShiftDsl[R, Value]: SameDomainStackSafeShiftDsl[TailRec[R], Value]
@inline
implicit
def taskStackSafeShiftDsl[LeftDomain, RightDomain, Value]: StackSafeShiftDsl[LeftDomain !! Throwable, LeftDomain !! Throwable !! RightDomain, Value]

Inherited implicits

@inline
implicit
def stackUnsafeShiftDsl[Domain, Value]: Dsl[Shift[Domain, Value], Domain, Value]
Inherited from
LowPriorityShift1