Attributes
- Companion
- class
- Graph
-
- Supertypes
- Self type
-
CaptureSet.type
Members list
Type members
Classlikes
A mapping where the type map is required to be a bijection. Parameters as in Mapped.
A mapping where the type map is required to be a bijection. Parameters as in Mapped.
Attributes
- Supertypes
-
class DerivedVarclass Varclass CaptureSettrait Showableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
- Known subtypes
-
class Failclass LevelError
Attributes
- Supertypes
- Known subtypes
-
class Failclass LevelError
The subclass of constant capture sets with given elements elems
The subclass of constant capture sets with given elements elems
Attributes
- Supertypes
- Known subtypes
-
class EmptyWithProvenanceobject Fluid
A variable that is derived from some other variable via a map or filter.
A variable with elements given at any time as { x <- source.elems | !other.accountsFor(x) }
A variable with elements given at any time as { x <- source.elems | !other.accountsFor(x) }
Attributes
- Supertypes
-
class Filteredclass DerivedVarclass Varclass CaptureSettrait Showableclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Constclass CaptureSettrait Showableclass Objecttrait Matchableclass AnyShow all
A value of this class is produced and added as a note to ccState when a subsumes check decides that an existential variable ex
cannot be instantiated to the other capability other
.
A value of this class is produced and added as a note to ccState when a subsumes check decides that an existential variable ex
cannot be instantiated to the other capability other
.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ErrorNoteclass Objecttrait Matchableclass AnyShow all
A variable with elements given at any time as { x <- source.elems | p(x) }
A variable with elements given at any time as { x <- source.elems | p(x) }
Attributes
- Supertypes
-
class DerivedVarclass Varclass CaptureSettrait Showableclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class Diff
A special capture set that gets added to the types of symbols that were not themselves capture checked, in order to admit arbitrary corresponding capture sets in subcapturing comparisons. Similar to platform types for explicit nulls, this provides more lenient checking against compilation units that were not yet compiled with capture checking on.
A special capture set that gets added to the types of symbols that were not themselves capture checked, in order to admit arbitrary corresponding capture sets in subcapturing comparisons. Similar to platform types for explicit nulls, this provides more lenient checking against compilation units that were not yet compiled with capture checking on.
Attributes
- Supertypes
- Self type
-
Fluid.type
A capture set variable used to record the references hidden by a Fresh instance, The elems and deps members are repurposed as follows: elems: Set of hidden references deps : Set of hidden sets for which the Fresh instance owning this set is a hidden element. Hidden sets may become aliases of other hidden sets, which means that reads and writes of elems go to the alias. If H is an alias of R.hidden for some Fresh instance R then: H.elems == {R} H.deps = {R.hidden} This encoding was chosen because it relies only on the elems and deps fields which are already subject through snapshotting and rollbacks in VarState. It's advantageous if we don't need to deal with other pieces of state there.
A capture set variable used to record the references hidden by a Fresh instance, The elems and deps members are repurposed as follows: elems: Set of hidden references deps : Set of hidden sets for which the Fresh instance owning this set is a hidden element. Hidden sets may become aliases of other hidden sets, which means that reads and writes of elems go to the alias. If H is an alias of R.hidden for some Fresh instance R then: H.elems == {R} H.deps = {R.hidden} This encoding was chosen because it relies only on the elems and deps fields which are already subject through snapshotting and rollbacks in VarState. It's advantageous if we don't need to deal with other pieces of state there.
Attributes
- Supertypes
A TypeMap that is the identity on capture references
A TypeMap that is the identity on capture references
Attributes
- Supertypes
- Known subtypes
-
class SimplifyMapclass SimplifyKeepUnchecked
Attributes
- Supertypes
Variables that represent refinements of class parameters can have the universal capture set, since they represent only what is the result of the constructor. Test case: Without that tweak, logger.scala would not compile.
Variables that represent refinements of class parameters can have the universal capture set, since they represent only what is the result of the constructor. Test case: Without that tweak, logger.scala would not compile.
Attributes
- Supertypes
Attributes
- Supertypes
The subclass of captureset variables with given initial elements
The subclass of captureset variables with given initial elements
Attributes
- Supertypes
- Known subtypes
-
class DerivedVarclass BiMappedclass Filteredclass Diffclass HiddenSetclass RefiningVarShow all
A VarState serves as a snapshot mechanism that can undo additions of elements or super sets if an operation fails
A VarState serves as a snapshot mechanism that can undo additions of elements or super sets if an operation fails
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class Closedclass ClosedUnrecordedobject ClosedUnrecordedclass Separatingobject HardSeparateobject Separateclass Unrecordedobject UnrecordedShow all
Types
Value members
Concrete methods
Extrapolate tm(r) according to variance
. Let r1 be the result of tm(r).
Extrapolate tm(r) according to variance
. Let r1 be the result of tm(r).
- If r1 is a tracked CaptureRef, return {r1}
- If r1 has an empty capture set, return {}
- Otherwise,
- if the variance is covariant, return r1's capture set
- if the variance is contravariant, return {}
- Otherwise assertion failure
Attributes
Apply f
to each element in xs
, and join result sets with ++
Apply f
to each element in xs
, and join result sets with ++
Attributes
Apply extrapolated tm
to each element in xs
, and join result sets with ++
Apply extrapolated tm
to each element in xs
, and join result sets with ++
Attributes
The capture set of the type underlying CaptureRef
The capture set of the type underlying CaptureRef
Attributes
Capture set of a type
Capture set of a type
Value parameters
- followResult
-
If true, also include capture sets of function results. This mode is currently not used. It could be interesting when we change the system so that the capture set of a function is the union of the capture sets if its span. In this case we should use
followResult = true
in the call in ofInfo above.
Attributes
The deep capture set of a type is the union of all covariant occurrences of capture sets. Nested existential sets are approximated with cap
.
The deep capture set of a type is the union of all covariant occurrences of capture sets. Nested existential sets are approximated with cap
.
Attributes
The shared capture set {cap.rd}
The shared capture set {cap.rd}
Attributes
Return true iff
Return true iff
- arg1 is a TypeBounds >: CL T <: CH T of two capturing types with equal parents.
- arg2 is a capturing type CA U
- CH <: CA <: CL In other words, we can unify CL, CH and CA.
Attributes
The universal capture set {cap}
The universal capture set {cap}
Attributes
The same as CaptureSet.universal but generated implicitly for references of Capability subtypes
The same as CaptureSet.universal but generated implicitly for references of Capability subtypes
Attributes
The current VarState, as passed by the implicit context
The current VarState, as passed by the implicit context
Attributes
Perform op
. Under -Ycc-debug, collect and print info about all variables reachable via (_.deps)*
from the variables that were shown in op
.
Perform op
. Under -Ycc-debug, collect and print info about all variables reachable via (_.deps)*
from the variables that were shown in op
.