caps

scala.caps
object caps

Attributes

Experimental
true
Source
caps.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
caps.type

Members list

Type members

Classlikes

trait CapSet

Carrier trait for capture set type parameters

Carrier trait for capture set type parameters

Attributes

Source
caps.scala
Supertypes
class Any
trait Capability

Attributes

Source
caps.scala
Supertypes
class Any
Known subtypes
class CanThrow[E]
trait Exists
sealed trait Contains[C <: CapSet, R <: Singleton]

A type constraint expressing that the capture set C needs to contain the capability R

A type constraint expressing that the capture set C needs to contain the capability R

Attributes

Source
caps.scala
Supertypes
class Object
trait Matchable
class Any
sealed trait Exists extends Capability

A trait to allow expressing existential types such as

A trait to allow expressing existential types such as

(x: Exists) => A ->{x} B

Attributes

Source
caps.scala
Supertypes
trait Capability
class Object
trait Matchable
class Any
final class unbox extends StaticAnnotation

This should go into annotations. For now it is here, so that we can experiment with it quickly between minor releases

This should go into annotations. For now it is here, so that we can experiment with it quickly between minor releases

Attributes

Source
caps.scala
Supertypes
class Annotation
class Object
trait Matchable
class Any
object unsafe

Attributes

Source
caps.scala
Supertypes
class Object
trait Matchable
class Any
Self type
unsafe.type
final class untrackedCaptures extends StaticAnnotation

This should go into annotations. For now it is here, so that we can experiment with it quickly between minor releases

This should go into annotations. For now it is here, so that we can experiment with it quickly between minor releases

Attributes

Source
caps.scala
Supertypes
class Annotation
class Object
trait Matchable
class Any

Deprecated types

type Cap = Capability

Attributes

Deprecated
true
Source
caps.scala

Value members

Concrete methods

def capsOf[CS]: Any

A wrapper indicating a type variable in a capture argument list of a

A wrapper indicating a type variable in a capture argument list of a

Attributes

Source
caps.scala

Concrete fields

The universal capture reference

The universal capture reference

Attributes

Source
caps.scala

Deprecated fields

val *: Capability

The universal capture reference (deprecated)

The universal capture reference (deprecated)

Attributes

Deprecated
true
Source
caps.scala

Givens

Givens

given containsImpl[C <: CapSet, R <: Singleton]: containsImpl[C, R]

The only implementation of Contains. The constraint that {R} <: C is added separately by the capture checker.

The only implementation of Contains. The constraint that {R} <: C is added separately by the capture checker.

Attributes

Source
caps.scala

Extensions

Extensions

extension (x: Any)
def reachCapability: Any

Reach capabilities x* which appear as terms in @retains annotations are encoded as caps.reachCapability(x). When converted to CaptureRef types in capture sets they are represented as x.type @annotation.internal.reachCapability.

Reach capabilities x* which appear as terms in @retains annotations are encoded as caps.reachCapability(x). When converted to CaptureRef types in capture sets they are represented as x.type @annotation.internal.reachCapability.

Attributes

Source
caps.scala