Enum TVMFFIDefRegionKind#

Enum Documentation#

enum TVMFFIDefRegionKind#

Kind of def region a structural-equal / structural-hash callback is currently in when visiting a field.

Values:

enumerator kTVMFFIDefRegionKindNone#

Not in a def region.

Free vars reachable through this field are uses; they must already be bound by an enclosing def region or equality / hashing falls back to pointer identity.

enumerator kTVMFFIDefRegionKindPattern#

A pattern def region: the value’s type is matched as a pattern.

The descent recurses through the type. The value variable and every free variable in the type bind on first occurrence and must match on later ones. A pattern region propagates: kinds entered inside it have no effect.

enumerator kTVMFFIDefRegionKindSimple#

A simple def region: the variable alone is defined here.

Its type is walked as uses: variables appearing in the type must already be bound. Inside a pattern region this kind has no effect; the pattern propagates.