-
Notifications
You must be signed in to change notification settings - Fork 0
ConformanceDescriptor
A structure that helps describe a particular conformance in Swift. Information includes what type is being conformed to what protocol, some flags like if the conformance is retroactive, has conditional requirements, etc.
public struct ConformanceDescriptor: LayoutWrapper ABI Stability: Stable since the following
| macOS | iOS/tvOS | watchOS | Linux | Windows |
|-------|----------|---------|-------|---------|
| 10.14 | 12.2 | 5.2 | NA | NA |
The specific flags that describe this conformance descriptor.
public var flags: Flags The protocol that this type conforms to.
public var `protocol`: ProtocolDescriptor The context descriptor of the type being conformed.
public var contextDescriptor: TypeContextDescriptor? canImport(ObjectiveC)-
public var objcClass: ObjCClassWrapperMetadata?
The witness table pattern is a base witness table that this conformance can base actual witness tables off of. In the case that this conformance does not have a generic witness table (flags.hasGenericWitnessTable), this witness table pattern is actually the real witness table.
public var witnessTablePattern: WitnessTable The context that owns a retroactive conformance, if recorded.
public var retroactiveContext: ContextDescriptor? Generic requirements that must hold for this conformance to apply.
public var conditionalRequirements: [GenericRequirementDescriptor] Pack-shape descriptors used by conditional generic requirements.
public var conditionalPackShapeDescriptors: [GenericPackShapeDescriptor] Witnesses recorded in a resilient conformance pattern.
public var resilientWitnesses: [ResilientWitness] Instantiation metadata for a generic or resilient witness table.
public var genericWitnessTable: GenericWitnessTable? Global-actor isolation metadata for this conformance.
public var globalActorReference: GlobalActorReference? Generated at 2026-07-27T11:49:06+0000 using swift-doc 1.0.0-rc.1.
Types
- AccessibleFunction
- AccessibleFunctionFlags
- AnonymousDescriptor
- AnonymousDescriptor.Flags
- AnyExistentialContainer
- AsyncContinuationFlags
- BoxPair
- ClassDescriptor
- ClassMetadata
- ClassMetadata.Flags
- ConformanceDescriptor
- ConformanceDescriptor.Flags
- ContextDescriptorFlags
- ContextDescriptorKind
- ContinuationStatus
- CoroutineAllocator
- CoroutineAllocatorFlags
- CoroutineAllocatorKind
- DefaultOverrideTableHeader
- DualExistentialContainer
- DynamicCastFlags
- DynamicReplacementChainEntry
- DynamicReplacementDescriptor
- DynamicReplacementKey
- DynamicReplacementScope
- EnumDescriptor
- EnumMetadata
- EnumValueWitnessTable
- ExistentialContainer
- ExistentialMetadata
- ExistentialMetadata.Flags
- ExistentialProtocolReference
- ExistentialProtocolReference.Kind
- ExtendedExistentialMetadata
- ExtendedExistentialTypeShape
- ExtendedExistentialTypeShape.Flags
- ExtendedExistentialTypeShape.SpecialKind
- ExtendedFunctionTypeFlags
- ExtensionDescriptor
- ExtraClassDescriptorFlags
- FieldDescriptor
- FieldDescriptor.Kind
- FieldRecord
- FieldRecord.Flags
- FixedArrayMetadata
- ForeignClassMetadata
- ForeignMetadataInitialization
- ForeignReferenceTypeMetadata
- FunctionConvention
- FunctionMetadata
- FunctionMetadata.DifferentiabilityKind
- FunctionMetadata.Flags
- FunctionMetadata.ParamFlags
- GenericArgument
- GenericClassMetadataPattern
- GenericContext
- GenericContextDescriptorFlags
- GenericEnvironment
- GenericEnvironmentFlags
- GenericMetadataPartialPattern
- GenericMetadataPattern
- GenericMetadataPattern.Flags
- GenericPackKind
- GenericPackShapeDescriptor
- GenericPackShapeHeader
- GenericParameterDescriptor
- GenericParameterKind
- GenericRequirementDescriptor
- GenericRequirementDescriptor.Flags
- GenericRequirementKind
- GenericRequirementLayoutKind
- GenericSignatureHeader
- GenericValueDescriptor
- GenericValueHeader
- GenericValueMetadataPattern
- GenericValueType
- GenericWitnessTable
- GlobalActorReference
- HeapGenericLocalVariableMetadata
- HeapLocalVariableMetadata
- HeapObject
- InvertibleProtocolKind
- InvertibleProtocolSet
- JobFlags
- JobKind
- JobPriority
- KeyPathComponentHeader
- KeyPathComponentHeader.ComputedIdentifierKind
- KeyPathComponentHeader.ComputedIdentifierResolution
- KeyPathComponentHeader.ComputedPropertyKind
- KeyPathComponentHeader.Kind
- KeyPathComponentHeader.OptionalOperation
- KeyPathComponentHeader.StoredOffsetKind
- KnownMetadata
- KnownMetadata.Builtin
- MetadataAccessFunction
- MetadataBounds
- MetadataInitializationKind
- MetadataKind
- MetadataPack
- MetadataRequest
- MetadataResponse
- MetadataState
- MetadataTrailingFlags
- MetatypeMetadata
- MethodDefaultOverrideDescriptor
- MethodDescriptor
- MethodDescriptor.Flags
- MethodDescriptor.Kind
- MethodOverrideDescriptor
- ModuleDescriptor
- NonUniqueExtendedExistentialTypeShape
- ObjCClassWrapperMetadata
- OpaqueDescriptor
- OpaqueMetadata
- OpaqueTypeReplacement
- OverrideTableHeader
- PackLifetime
- ProtocolDescriptor
- ProtocolDescriptor.Flags
- ProtocolDispatchStrategy
- ProtocolRequirement
- ProtocolRequirement.Flags
- ProtocolRequirement.Kind
- ReferenceStorageKind
- RelativeWitnessTable
- ResilientClassMetadataPattern
- ResilientWitness
- SerialExecutorReference
- SerialExecutorReference.Kind
- SingletonMetadataInitialization
- SpecialProtocol
- StructDescriptor
- StructMetadata
- TaskCreateFlags
- TaskExecutorReference
- TaskExecutorReference.Kind
- TaskGroupFlags
- TaskOptionRecordFlags
- TaskOptionRecordKind
- TaskStatusRecordFlags
- TaskStatusRecordKind
- TupleMetadata
- TupleMetadata.Element
- TypeContextDescriptorFlags
- TypeGenericContext
- TypeImportInfo
- TypeReferenceKind
- UnknownMetadata
- VTableDescriptorHeader
- ValueOwnership
- ValueWitnessTable
- ValueWitnessTable.Flags
- WitnessTable
- WitnessTablePack
Global Typealiases
Global Variables
Global Functions
- container(for:)
- findConformance(to:)
- findConformance(toProtocolNamed:)
- lookupSection(_:segment:section:do:)
- reflect(_:)
- reflectClass(_:)
- reflectEnum(_:)
- reflectStruct(_:)
- registerAccessibleFunctions(section:size:)
- registerDynamicReplacementScopes(section:size:)
- registerOpaqueTypeReplacements(section:size:)
- registerProtocolConformances(section:size:)
- registerProtocols(section:size:)
- registerTypeMetadata(section:size:)
- swift_allocBox(for:)
- swift_allocObject(for:size:alignment:)
- swift_conformsToProtocol(metadata:protocol:)
- swift_conformsToProtocol(type:protocol:)
- swift_getTypeName(for:qualified:)
- withProjectedValue(of:_:)
- withProjectedValues(of:_:)