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

def newScheme(using Context): Boolean

Not used currently. Handy for trying out new features

Not used currently. Handy for trying out new features

Attributes

If true, turn on separation checking

If true, turn on separation checking

Attributes

Concrete fields

inline val alwaysRepeatRun: false

Always repeat a capture checking run at least once if there are no errors yet. Used for stress-testing the logic for when a new capture checking run needs to be scheduled because a provisionally solved capture set was later extended. So far this happens only in very few tests. With the flag on, the logic is tested for all tests except neg tests.

Always repeat a capture checking run at least once if there are no errors yet. Used for stress-testing the logic for when a new capture checking run needs to be scheduled because a provisionally solved capture set was later extended. So far this happens only in very few tests. With the flag on, the logic is tested for all tests except neg tests.

Attributes

inline val checkSkippedMaps: false

Check that if a type map (which is not a BiTypeMap) maps initial capture set variable elements to themselves it will not map any elements added in the future to something else. That is, we can safely use a capture set variable itself as the image under the map. By default this is off since it is a bit expensive to check.

Check that if a type map (which is not a BiTypeMap) maps initial capture set variable elements to themselves it will not map any elements added in the future to something else. That is, we can safely use a capture set variable itself as the image under the map. By default this is off since it is a bit expensive to check.

Attributes

inline val deferredReaches: false

Don't require @use for reach capabilities that are accessed only in a nested closure. This is unsound without additional mitigation measures, as shown by unsound-reach-5.scala.

Don't require @use for reach capabilities that are accessed only in a nested closure. This is unsound without additional mitigation measures, as shown by unsound-reach-5.scala.

Attributes

inline val handleEtaExpansionsSpecially: true

If this and preTypeClosureResults are both enabled, disable preTypeClosureResults for eta expansions. This can improve some error messages.

If this and preTypeClosureResults are both enabled, disable preTypeClosureResults for eta expansions. This can improve some error messages.

Attributes

inline val postCheckCapturesets: false

After capture checking, check that no capture set contains ParamRefs that are outside its scope. This used to occur and was fixed by healTypeParam. It should no longer occur now.

After capture checking, check that no capture set contains ParamRefs that are outside its scope. This used to occur and was fixed by healTypeParam. It should no longer occur now.

Attributes

inline val preTypeClosureResults: false

If enabled, use a special path in recheckClosure for closures to compare the result tpt of the anonymous functon with the expected result type. This can narrow the scope of error messages.

If enabled, use a special path in recheckClosure for closures to compare the result tpt of the anonymous functon with the expected result type. This can narrow the scope of error messages.

Attributes