ccConfig

dotty.tools.dotc.cc.ccConfig
object ccConfig

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
ccConfig.type

Members list

Value members

Concrete methods

If true, use existential capture set variables

If true, use existential capture set variables

Attributes

def useSealed(using Context): Boolean

If true, use "sealed" as encapsulation mechanism, meaning that we check that type variable instantiations don't have cap in any of their capture sets. This is an alternative of the original restriction that cap can't be boxed or unboxed. It is used in 3.3 and 3.4 but dropped again in 3.5.

If true, use "sealed" as encapsulation mechanism, meaning that we check that type variable instantiations don't have cap in any of their capture sets. This is an alternative of the original restriction that cap can't be boxed or unboxed. It is used in 3.3 and 3.4 but dropped again in 3.5.

Attributes

Concrete fields

inline val allowUnsoundMaps: false

If true, allow mapping capture set variables under captureChecking with maps that are neither bijective nor idempotent. We currently do now know how to do this correctly in all cases, though.

If true, allow mapping capture set variables under captureChecking with maps that are neither bijective nor idempotent. We currently do now know how to do this correctly in all cases, though.

Attributes

inline val handleEtaExpansionsSpecially: false

If enabled, use a special path in recheckClosure for closures that are eta expansions. This can improve some error messages but currently leads to unsoundess for handling reach capabilities. TODO: The unsoundness needs followin up.

If enabled, use a special path in recheckClosure for closures that are eta expansions. This can improve some error messages but currently leads to unsoundess for handling reach capabilities. TODO: The unsoundness needs followin up.

Attributes

inline val optimizedRefinements: false

If true, when computing the memberinfo of a refined type created by addCaptureRefinements take the refineInfo directly without intersecting with the parent info.

If true, when computing the memberinfo of a refined type created by addCaptureRefinements take the refineInfo directly without intersecting with the parent info.

Attributes