-
Notifications
You must be signed in to change notification settings - Fork 26
ConformanceDescriptor_Flags
The flags that describe a conformance to a protocol for a type.
public struct Flags
Flags as represented in bits.
public let bits: UInt32
Whether or not the conformance descriptor's witness table pattern is used as a pattern or if it's served as the real witness table. This is most likely true when the conformance is about a generic type and false when the conformance is about a non generic type. Please make sure to consult this flag beforehand though to make sure.
public var hasGenericWitnessTable: Bool
Whether or not this conformance has resilient witnesses.
public var hasResilientWitnesses: Bool
Whether or not this conformance is retroactive. A conformance is considered retroactive when it happens in a module that is not the module the protocol was defined in and not the module the type conforming was defined in.
public var isRetroactive: Bool
Whether or not this conformance was synthesized non-uniquely. This happens when an imported C structure or such defines a Swift conformance.
public var isSynthesizedNonUnique: Bool
The number of conditional requirements this conformance requires. This occurs with conditional conformance situations where a type only conforms if one/a few/all of its generic parameters conform to some protocol. Another example is a type conforming to some protocol if it has some same type requirement.
public var numConditionalRequirements: Int
The type reference kind to the type that is conforming to some protocol in this conformance.
public var typeReferenceKind: TypeReferenceKind
Generated at 2021-05-06T17:56:33+0000 using swift-doc 1.0.0-beta.6.
Types
- AnonymousDescriptor
- AnonymousDescriptor.Flags
- AnyExistentialContainer
- BoxPair
- ClassDescriptor
- ClassMetadata
- ClassMetadata.Flags
- ConformanceDescriptor
- ConformanceDescriptor.Flags
- ContextDescriptorFlags
- ContextDescriptorKind
- DualExistentialContainer
- EnumDescriptor
- EnumMetadata
- EnumValueWitnessTable
- ExistentialContainer
- ExistentialMetadata
- ExistentialMetadata.Flags
- ExistentialMetatypeMetadata
- ExtensionDescriptor
- FieldDescriptor
- FieldDescriptor.Kind
- FieldRecord
- FieldRecord.Flags
- ForeignClassMetadata
- ForeignMetadataInitialization
- FunctionConvention
- FunctionMetadata
- FunctionMetadata.Flags
- FunctionMetadata.ParamFlags
- GenericContext
- GenericMetadataPattern
- GenericMetadataPattern.Flags
- GenericParameterDescriptor
- GenericParameterKind
- GenericRequirementDescriptor
- GenericRequirementDescriptor.Flags
- GenericRequirementKind
- GenericRequirementLayoutKind
- HeapGenericLocalVariableMetadata
- HeapLocalVariableMetadata
- HeapObject
- KnownMetadata
- KnownMetadata.Builtin
- MetadataAccessFunction
- MetadataBounds
- MetadataInitializationKind
- MetadataKind
- MetadataRequest
- MetadataResponse
- MetadataState
- MetatypeMetadata
- MethodDescriptor
- MethodDescriptor.Flags
- MethodDescriptor.Kind
- MethodOverrideDescriptor
- ModuleDescriptor
- ObjCClassWrapperMetadata
- OpaqueDescriptor
- OpaqueMetadata
- OverrideTableHeader
- ProtocolDescriptor
- ProtocolDescriptor.Flags
- ProtocolRequirement
- ProtocolRequirement.Flags
- ProtocolRequirement.Kind
- ReferenceStorageKind
- SingletonMetadataInitialization
- SpecialProtocol
- StructDescriptor
- StructMetadata
- TupleMetadata
- TupleMetadata.Element
- TypeContextDescriptorFlags
- TypeGenericContext
- TypeReferenceKind
- VTableDescriptorHeader
- ValueOwnership
- ValueWitnessTable
- ValueWitnessTable.Flags
- WitnessTable