pub unsafe trait Alias<T>: Sized { }Expand description
If A implements Alias<B>, this means A and B have exactly the same memory representation
Thus transmuting from A to B is safe
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl Alias<AccelerationStructureKHR> for AccelerationStructureKHR
impl Alias<AccelerationStructureNV> for AccelerationStructureNV
impl Alias<Buffer> for Buffer
impl Alias<BufferCollectionFUCHSIA> for BufferCollectionFUCHSIA
impl Alias<BufferView> for BufferView
impl Alias<CommandBuffer> for CommandBuffer
impl Alias<CommandPool> for CommandPool
impl Alias<CuFunctionNVX> for CuFunctionNVX
impl Alias<CuModuleNVX> for CuModuleNVX
impl Alias<CudaFunctionNV> for CudaFunctionNV
impl Alias<CudaModuleNV> for CudaModuleNV
impl Alias<DataGraphPipelineSessionARM> for DataGraphPipelineSessionARM
impl Alias<DebugReportCallbackEXT> for DebugReportCallbackEXT
impl Alias<DebugUtilsMessengerEXT> for DebugUtilsMessengerEXT
impl Alias<DeferredOperationKHR> for DeferredOperationKHR
impl Alias<DescriptorPool> for DescriptorPool
impl Alias<DescriptorSet> for DescriptorSet
impl Alias<DescriptorSetLayout> for DescriptorSetLayout
impl Alias<DescriptorUpdateTemplate> for DescriptorUpdateTemplate
impl Alias<Device> for Device
impl Alias<DeviceMemory> for DeviceMemory
impl Alias<DisplayKHR> for DisplayKHR
impl Alias<DisplayModeKHR> for DisplayModeKHR
impl Alias<Event> for Event
impl Alias<ExternalComputeQueueNV> for ExternalComputeQueueNV
impl Alias<Fence> for Fence
impl Alias<Framebuffer> for Framebuffer
impl Alias<Image> for Image
impl Alias<ImageView> for ImageView
impl Alias<IndirectCommandsLayoutEXT> for IndirectCommandsLayoutEXT
impl Alias<IndirectCommandsLayoutNV> for IndirectCommandsLayoutNV
impl Alias<IndirectExecutionSetEXT> for IndirectExecutionSetEXT
impl Alias<Instance> for Instance
impl Alias<MicromapEXT> for MicromapEXT
impl Alias<OpticalFlowSessionNV> for OpticalFlowSessionNV
impl Alias<PerformanceConfigurationINTEL> for PerformanceConfigurationINTEL
impl Alias<PhysicalDevice> for PhysicalDevice
impl Alias<Pipeline> for Pipeline
impl Alias<PipelineBinaryKHR> for PipelineBinaryKHR
impl Alias<PipelineCache> for PipelineCache
impl Alias<PipelineLayout> for PipelineLayout
impl Alias<PrivateDataSlot> for PrivateDataSlot
impl Alias<QueryPool> for QueryPool
impl Alias<Queue> for Queue
impl Alias<RenderPass> for RenderPass
impl Alias<Sampler> for Sampler
impl Alias<SamplerYcbcrConversion> for SamplerYcbcrConversion
impl Alias<Semaphore> for Semaphore
impl Alias<ShaderEXT> for ShaderEXT
impl Alias<ShaderModule> for ShaderModule
impl Alias<SurfaceKHR> for SurfaceKHR
impl Alias<SwapchainKHR> for SwapchainKHR
impl Alias<TensorARM> for TensorARM
impl Alias<TensorViewARM> for TensorViewARM
impl Alias<ValidationCacheEXT> for ValidationCacheEXT
impl<'a, T: Handle> Alias<T> for BorrowedHandle<'a, T>
BorrowedHandle<’a, T> is repr(transparent) of T
impl<'a, T: Handle> Alias<T> for BorrowedMutHandle<'a, T>
BorrowedMutHandle<’a, T> is repr(transparent) of T
impl<T> Alias<T> for T
T has always the same memory representation as itself