Realm

vk · Structs · S4

16 public declarations with native signatures and source-owned contracts.

StRustExperimental

Stvk::ShaderCreateFlagBitsEXT

Contract

Open integer representation of VkShaderCreateFlagBitsEXT.

Khronos reference: VkShaderCreateFlagBitsEXT

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = ShaderCreateFlagBitsEXT
The resulting type after applying the & operator.

Output-1

Method
type Output = ShaderCreateFlagBitsEXT
The resulting type after applying the | operator.

Output-2

Method
type Output = ShaderCreateFlagBitsEXT
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> ShaderCreateFlagBitsEXT
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderCreateFlagBitsEXT
Returns the “default value” for a type. Read more

Output-3

Method
type Output = ShaderCreateFlagBitsEXT
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &ShaderCreateFlagBitsEXT) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderCreateInfoEXT

pub struct ShaderCreateInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: ShaderCreateFlagsEXT, pub stage: ShaderStageFlagBits, pub next_stage: ShaderStageFlags, pub code_type: ShaderCodeTypeEXT, pub code_size: usize, pub p_code: *const c_void, pub p_name: *const c_char, pub set_layout_count: u32, pub p_set_layouts: *const DescriptorSetLayout, pub push_constant_range_count: u32, pub p_push_constant_ranges: *const PushConstantRange, pub p_specialization_info: *const SpecializationInfo<'a>, /* private fields */ }
Native structure VkShaderCreateInfoEXT.

Contract

Native structure VkShaderCreateInfoEXT.

Khronos reference: VkShaderCreateInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: ShaderCreateFlagsEXT

Native field flags.

stage

Field
stage: ShaderStageFlagBits

Native field stage.

next_stage

Field
next_stage: ShaderStageFlags

Native field nextStage.

code_type

Field
code_type: ShaderCodeTypeEXT

Native field codeType.

code_size

Field
code_size: usize

Native field codeSize.

p_code

Field
p_code: *const c_void

Native field pCode.

p_name

Field
p_name: *const c_char

Native field pName.

set_layout_count

Field
set_layout_count: u32

Native field setLayoutCount.

p_set_layouts

Field
p_set_layouts: *const DescriptorSetLayout

Native field pSetLayouts.

push_constant_range_count

Field
push_constant_range_count: u32

Native field pushConstantRangeCount.

p_push_constant_ranges

Field
p_push_constant_ranges: *const PushConstantRange

Native field pPushConstantRanges.

p_specialization_info

Field
p_specialization_info: *const SpecializationInfo<'a>

Native field pSpecializationInfo.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_flags

Method
pub fn set_flags(self, value: ShaderCreateFlagsEXT) -> Self

Set native field flags without native effects.

set_stage

Method
pub fn set_stage(self, value: ShaderStageFlagBits) -> Self

Set native field stage without native effects.

set_next_stage

Method
pub fn set_next_stage(self, value: ShaderStageFlags) -> Self

Set native field nextStage without native effects.

set_code_type

Method
pub fn set_code_type(self, value: ShaderCodeTypeEXT) -> Self

Set native field codeType without native effects.

set_code_size

Method
pub fn set_code_size(self, value: usize) -> Self

Set native count codeSize directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

set_code

Method
pub fn set_code(self, value: &'a [u8]) -> Result<Self, ConstructionError>

Borrow pCode and set checked native byte size codeSize. The borrow covers this storage only; nested raw pointers, format, alignment and asynchronous retention remain native-call obligations. Output storage must be initialized; returned sizes do not enlarge its capacity.

Errors

Returns a construction error if the length exceeds the native count width.

set_name

Method
pub fn set_name(self, value: &'a CStr) -> Self

Set native field pName without native effects.

set_set_layout_count

Method
pub fn set_set_layout_count(self, value: u32) -> Self

Set native count setLayoutCount directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

set_set_layouts

Method
pub fn set_set_layouts( self, value: &'a [DescriptorSetLayout], ) -> Result<Self, ConstructionError>

Borrow pSetLayouts and set checked native count setLayoutCount. The borrow covers this storage only; nested raw pointers, format, alignment and asynchronous retention remain native-call obligations. Output storage must be initialized; returned sizes do not enlarge its capacity.

Errors

Returns a construction error if the length exceeds the native count width.

set_push_constant_range_count

Method
pub fn set_push_constant_range_count(self, value: u32) -> Self

Set native count pushConstantRangeCount directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

set_push_constant_ranges

Method
pub fn set_push_constant_ranges( self, value: &'a [PushConstantRange], ) -> Result<Self, ConstructionError>

Borrow pPushConstantRanges and set checked native count pushConstantRangeCount. The borrow covers this storage only; nested raw pointers, format, alignment and asynchronous retention remain native-call obligations. Output storage must be initialized; returned sizes do not enlarge its capacity.

Errors

Returns a construction error if the length exceeds the native count width.

set_specialization_info

Method
pub fn set_specialization_info(self, value: &'a SpecializationInfo<'a>) -> Self

Set native field pSpecializationInfo without native effects.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.

Stvk::ShaderDescriptorSetAndBindingMappingInfoEXT

pub struct ShaderDescriptorSetAndBindingMappingInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub mapping_count: u32, pub p_mappings: *const DescriptorSetAndBindingMappingEXT<'a>, /* private fields */ }
Native structure VkShaderDescriptorSetAndBindingMappingInfoEXT.

Contract

Native structure VkShaderDescriptorSetAndBindingMappingInfoEXT.

Khronos reference: VkShaderDescriptorSetAndBindingMappingInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

mapping_count

Field
mapping_count: u32

Native field mappingCount.

p_mappings

Field
p_mappings: *const DescriptorSetAndBindingMappingEXT<'a>

Native field pMappings.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_mapping_count

Method
pub fn set_mapping_count(self, value: u32) -> Self

Set native count mappingCount directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

set_mappings

Method
pub fn set_mappings( self, value: &'a [DescriptorSetAndBindingMappingEXT<'a>], ) -> Result<Self, ConstructionError>

Borrow pMappings and set checked native count mappingCount. The borrow covers this storage only; nested raw pointers, format, alignment and asynchronous retention remain native-call obligations. Output storage must be initialized; returned sizes do not enlarge its capacity.

Errors

Returns a construction error if the length exceeds the native count width.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.

Stvk::ShaderEXT

Contract

Raw Vulkan handle VkShaderEXT.

Khronos reference: VkShaderEXT Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

Field
0: u64
No public source comment is attached to this declaration.

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

Method
pub fn from_raw(value: u64) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub fn as_raw(self) -> u64
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

eq

Method
fn eq(&self, other: &ShaderEXT) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderFloatControlsIndependence

Contract

Open integer representation of VkShaderFloatControlsIndependence.

Khronos reference: VkShaderFloatControlsIndependence

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

clone

Method
fn clone(&self) -> ShaderFloatControlsIndependence
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderFloatControlsIndependence
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &ShaderFloatControlsIndependence) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderGroupShaderKHR

Contract

Open integer representation of VkShaderGroupShaderKHR.

Khronos reference: VkShaderGroupShaderKHR

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

clone

Method
fn clone(&self) -> ShaderGroupShaderKHR
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderGroupShaderKHR
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &ShaderGroupShaderKHR) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderInfoTypeAMD

Contract

Open integer representation of VkShaderInfoTypeAMD.

Khronos reference: VkShaderInfoTypeAMD

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderInfoTypeAMD
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &ShaderInfoTypeAMD) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderInstrumentationARM

Contract

Raw Vulkan handle VkShaderInstrumentationARM.

Khronos reference: VkShaderInstrumentationARM Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

Field
0: u64
No public source comment is attached to this declaration.

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

Method
pub fn from_raw(value: u64) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub fn as_raw(self) -> u64
No public source comment is attached to this declaration.

clone

Method
fn clone(&self) -> ShaderInstrumentationARM
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

eq

Method
fn eq(&self, other: &ShaderInstrumentationARM) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderInstrumentationCreateInfoARM

Contract

Native structure VkShaderInstrumentationCreateInfoARM.

Khronos reference: VkShaderInstrumentationCreateInfoARM

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.

Stvk::ShaderInstrumentationMetricDataHeaderARM

#[repr(C)]pub struct ShaderInstrumentationMetricDataHeaderARM { pub result_index: u32, pub result_sub_index: u32, pub stages: ShaderStageFlags, pub basic_block_index: u32, }
Native structure VkShaderInstrumentationMetricDataHeaderARM.

Contract

Native structure VkShaderInstrumentationMetricDataHeaderARM.

Khronos reference: VkShaderInstrumentationMetricDataHeaderARM

Fields

result_index

Field
result_index: u32

Native field resultIndex.

result_sub_index

Field
result_sub_index: u32

Native field resultSubIndex.

stages

Field
stages: ShaderStageFlags

Native field stages.

basic_block_index

Field
basic_block_index: u32

Native field basicBlockIndex.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_result_index

Method
pub fn set_result_index(self, value: u32) -> Self

Set native field resultIndex without native effects.

set_result_sub_index

Method
pub fn set_result_sub_index(self, value: u32) -> Self

Set native field resultSubIndex without native effects.

set_stages

Method
pub fn set_stages(self, value: ShaderStageFlags) -> Self

Set native field stages without native effects.

set_basic_block_index

Method
pub fn set_basic_block_index(self, value: u32) -> Self

Set native field basicBlockIndex without native effects.

clone

Method
fn clone(&self) -> ShaderInstrumentationMetricDataHeaderARM
Returns a duplicate of the value. Read more

Stvk::ShaderInstrumentationMetricDescriptionARM

pub struct ShaderInstrumentationMetricDescriptionARM<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub name: [c_char; 256], pub description: [c_char; 256], /* private fields */ }
Native structure VkShaderInstrumentationMetricDescriptionARM.

Contract

Native structure VkShaderInstrumentationMetricDescriptionARM.

Khronos reference: VkShaderInstrumentationMetricDescriptionARM

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

name

Field
name: [c_char; 256]

Native field name.

description

Field
description: [c_char; 256]

Native field description.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_name

Method
pub fn set_name(self, value: [c_char; 256]) -> Self

Set native field name without native effects.

set_description

Method
pub fn set_description(self, value: [c_char; 256]) -> Self

Set native field description without native effects.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.

Stvk::ShaderInstrumentationValuesFlagsARM

Contract

Open integer representation of VkShaderInstrumentationValuesFlagsARM.

Khronos reference: VkShaderInstrumentationValuesFlagsARM

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = ShaderInstrumentationValuesFlagsARM
The resulting type after applying the & operator.

Output-1

Method
type Output = ShaderInstrumentationValuesFlagsARM
The resulting type after applying the | operator.

Output-2

Method
type Output = ShaderInstrumentationValuesFlagsARM
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> ShaderInstrumentationValuesFlagsARM
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderInstrumentationValuesFlagsARM
Returns the “default value” for a type. Read more

Output-3

Method
type Output = ShaderInstrumentationValuesFlagsARM
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &ShaderInstrumentationValuesFlagsARM) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderModule

Contract

Raw Vulkan handle VkShaderModule.

Khronos reference: VkShaderModule Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

Field
0: u64
No public source comment is attached to this declaration.

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

Method
pub fn from_raw(value: u64) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub fn as_raw(self) -> u64
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

eq

Method
fn eq(&self, other: &ShaderModule) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderModuleCreateFlags

Contract

Open integer representation of VkShaderModuleCreateFlags.

Khronos reference: VkShaderModuleCreateFlags

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = ShaderModuleCreateFlags
The resulting type after applying the & operator.

Output-1

Method
type Output = ShaderModuleCreateFlags
The resulting type after applying the | operator.

Output-2

Method
type Output = ShaderModuleCreateFlags
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> ShaderModuleCreateFlags
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> ShaderModuleCreateFlags
Returns the “default value” for a type. Read more

Output-3

Method
type Output = ShaderModuleCreateFlags
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &ShaderModuleCreateFlags) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::ShaderModuleCreateInfo

pub struct ShaderModuleCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: ShaderModuleCreateFlags, pub code_size: usize, pub p_code: *const u32, /* private fields */ }
Native structure VkShaderModuleCreateInfo.

Contract

Native structure VkShaderModuleCreateInfo.

Khronos reference: VkShaderModuleCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: ShaderModuleCreateFlags

Native field flags.

code_size

Field
code_size: usize

Native field codeSize.

p_code

Field
p_code: *const u32

Native field pCode.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_flags

Method
pub fn set_flags(self, value: ShaderModuleCreateFlags) -> Self

Set native field flags without native effects.

set_code_size

Method
pub fn set_code_size(self, value: usize) -> Self

Set native field codeSize without native effects.

set_code

Method
pub fn set_code(self, value: &'a [u32]) -> Self

Borrow SPIR-V words and set native codeSize in bytes. Shader validity and required capabilities remain native-call obligations.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.

Stvk::ShaderModuleIdentifierEXT

pub struct ShaderModuleIdentifierEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub identifier_size: u32, pub identifier: [u8; 32], /* private fields */ }
Native structure VkShaderModuleIdentifierEXT.

Contract

Native structure VkShaderModuleIdentifierEXT.

Khronos reference: VkShaderModuleIdentifierEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

identifier_size

Field
identifier_size: u32

Native field identifierSize.

identifier

Field
identifier: [u8; 32]

Native field identifier.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_identifier_size

Method
pub fn set_identifier_size(self, value: u32) -> Self

Set native count identifierSize directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

set_identifier

Method
pub fn set_identifier(self, value: [u8; 32]) -> Self

Set native field identifier without native effects.

push_next

Method
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

Errors

Returns a construction error for a changed structure tag or already-linked node.