Skip to content

ProtocolRequirement_Flags

tevelee edited this page Jul 25, 2026 · 2 revisions

ProtocolRequirement.Flags

The flags that describe a protocol requirement.

public struct Flags 

Properties

bits

Flags as represented in bits.

public let bits: UInt32

kind

The kind of protocol requirement this is.

public var kind: Kind 

isInstance

Whether this protocol requirement is some instance requirement.

public var isInstance: Bool 

isAsync

Whether this requirement is an async function requirement.

public var isAsync: Bool 

For coroutine requirements, the same ABI bit means a callee-allocated coroutine context. Use isCalleeAllocatedCoroutine for that case.

isCoroutine

Whether this requirement is a read or modify coroutine.

public var isCoroutine: Bool 

isCalleeAllocatedCoroutine

Whether this coroutine requirement has a callee-allocated context.

public var isCalleeAllocatedCoroutine: Bool 

isData

Whether the ABI's async bit carries data for this requirement.

public var isData: Bool 

isSignedWithAddress

Whether this requirement's implementation is signed with its address.

public var isSignedWithAddress: Bool 

isFunctionImplementation

Whether this requirement's implementation is represented by a native function pointer.

public var isFunctionImplementation: Bool 

extraDiscriminator

The discriminator used by runtime features that extend a requirement without changing its stable leading layout.

public var extraDiscriminator: UInt16 
Types
Protocols
Global Typealiases
Global Variables
Global Functions

Clone this wiki locally