Struct DownlevelFlags
pub struct DownlevelFlags(/* private fields */);unstable-wgpu-28 only.Expand description
Binary flags listing features that may or may not be present on downlevel adapters.
A downlevel adapter is a GPU adapter that wgpu supports, but with potentially limited features, due to the lack of hardware feature support.
Flags that are not present for a downlevel adapter or device usually indicates non-compliance with the WebGPU specification, but not always.
You can check whether a set of flags is compliant through the
DownlevelCapabilities::is_webgpu_compliant() function.
Implementations§
§impl DownlevelFlags
impl DownlevelFlags
pub const COMPUTE_SHADERS: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const COMPUTE_SHADERS: DownlevelFlags
wgpu-28 only.The device supports compiling and using compute shaders.
WebGL2, and GLES3.0 devices do not support compute.
pub const FRAGMENT_WRITABLE_STORAGE: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const FRAGMENT_WRITABLE_STORAGE: DownlevelFlags
wgpu-28 only.Supports binding storage buffers and textures to fragment shaders.
pub const INDIRECT_EXECUTION: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const INDIRECT_EXECUTION: DownlevelFlags
wgpu-28 only.Supports indirect drawing and dispatching.
Self::COMPUTE_SHADERS must be present for this flag.
WebGL2, GLES 3.0, and Metal on Apple1/Apple2 GPUs do not support indirect.
pub const BASE_VERTEX: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const BASE_VERTEX: DownlevelFlags
wgpu-28 only.Supports non-zero base_vertex parameter to direct indexed draw calls.
Indirect calls, if supported, always support non-zero base_vertex.
Supported by:
- Vulkan
- DX12
- Metal on Apple3+ or Mac1+
- OpenGL 3.2+
- OpenGL ES 3.2
pub const READ_ONLY_DEPTH_STENCIL: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const READ_ONLY_DEPTH_STENCIL: DownlevelFlags
wgpu-28 only.Supports reading from a depth/stencil texture while using it as a read-only depth/stencil attachment.
The WebGL2 and GLES backends do not support RODS.
pub const NON_POWER_OF_TWO_MIPMAPPED_TEXTURES: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const NON_POWER_OF_TWO_MIPMAPPED_TEXTURES: DownlevelFlags
wgpu-28 only.Supports textures with mipmaps which have a non power of two size.
pub const CUBE_ARRAY_TEXTURES: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const CUBE_ARRAY_TEXTURES: DownlevelFlags
wgpu-28 only.Supports textures that are cube arrays.
pub const COMPARISON_SAMPLERS: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const COMPARISON_SAMPLERS: DownlevelFlags
wgpu-28 only.Supports comparison samplers.
pub const INDEPENDENT_BLEND: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const INDEPENDENT_BLEND: DownlevelFlags
wgpu-28 only.Supports different blend operations per color attachment.
pub const VERTEX_STORAGE: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const VERTEX_STORAGE: DownlevelFlags
wgpu-28 only.Supports storage buffers in vertex shaders.
pub const ANISOTROPIC_FILTERING: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const ANISOTROPIC_FILTERING: DownlevelFlags
wgpu-28 only.Supports samplers with anisotropic filtering. Note this isn’t actually required by WebGPU, the implementation is allowed to completely ignore aniso clamp. This flag is here for native backends so they can communicate to the user of aniso is enabled.
All backends and all devices support anisotropic filtering.
pub const FRAGMENT_STORAGE: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const FRAGMENT_STORAGE: DownlevelFlags
wgpu-28 only.Supports storage buffers in fragment shaders.
pub const MULTISAMPLED_SHADING: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const MULTISAMPLED_SHADING: DownlevelFlags
wgpu-28 only.Supports sample-rate shading.
pub const DEPTH_TEXTURE_AND_BUFFER_COPIES: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const DEPTH_TEXTURE_AND_BUFFER_COPIES: DownlevelFlags
wgpu-28 only.Supports copies between depth textures and buffers.
GLES/WebGL don’t support this.
pub const WEBGPU_TEXTURE_FORMAT_SUPPORT: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const WEBGPU_TEXTURE_FORMAT_SUPPORT: DownlevelFlags
wgpu-28 only.Supports all the texture usages described in WebGPU. If this isn’t supported, you
should call get_texture_format_features to get how you can use textures of a given format
pub const BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED: DownlevelFlags
wgpu-28 only.Supports buffer bindings with sizes that aren’t a multiple of 16.
WebGL doesn’t support this.
pub const UNRESTRICTED_INDEX_BUFFER: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const UNRESTRICTED_INDEX_BUFFER: DownlevelFlags
wgpu-28 only.Supports buffers to combine [BufferUsages::INDEX] with usages other than [BufferUsages::COPY_DST] and [BufferUsages::COPY_SRC].
Furthermore, in absence of this feature it is not allowed to copy index buffers from/to buffers with a set of usage flags containing
[BufferUsages::VERTEX]/[BufferUsages::UNIFORM]/[BufferUsages::STORAGE] or [BufferUsages::INDIRECT].
WebGL doesn’t support this.
pub const FULL_DRAW_INDEX_UINT32: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const FULL_DRAW_INDEX_UINT32: DownlevelFlags
wgpu-28 only.Supports full 32-bit range indices (2^32-1 as opposed to 2^24-1 without this flag)
Corresponds to Vulkan’s VkPhysicalDeviceFeatures.fullDrawIndexUint32
pub const DEPTH_BIAS_CLAMP: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const DEPTH_BIAS_CLAMP: DownlevelFlags
wgpu-28 only.Supports depth bias clamping
Corresponds to Vulkan’s VkPhysicalDeviceFeatures.depthBiasClamp
pub const VIEW_FORMATS: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const VIEW_FORMATS: DownlevelFlags
wgpu-28 only.Supports specifying which view format values are allowed when create_view() is called on a texture.
The WebGL and GLES backends doesn’t support this.
pub const UNRESTRICTED_EXTERNAL_TEXTURE_COPIES: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const UNRESTRICTED_EXTERNAL_TEXTURE_COPIES: DownlevelFlags
wgpu-28 only.With this feature not present, there are the following restrictions on Queue::copy_external_image_to_texture:
- The source must not be [
web_sys::OffscreenCanvas] - [
CopyExternalImageSourceInfo::origin] must be zero. - [
CopyExternalImageDestInfo::color_space] must be srgb. - If the source is an [
web_sys::ImageBitmap]:- [
CopyExternalImageSourceInfo::flip_y] must be false. - [
CopyExternalImageDestInfo::premultiplied_alpha] must be false.
- [
WebGL doesn’t support this. WebGPU does.
pub const SURFACE_VIEW_FORMATS: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const SURFACE_VIEW_FORMATS: DownlevelFlags
wgpu-28 only.Supports specifying which view formats are allowed when calling create_view on the texture returned by
Surface::get_current_texture.
The GLES/WebGL and Vulkan on Android doesn’t support this.
pub const NONBLOCKING_QUERY_RESOLVE: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const NONBLOCKING_QUERY_RESOLVE: DownlevelFlags
wgpu-28 only.If this is true, calls to CommandEncoder::resolve_query_set will be performed on the queue timeline.
If this is false, calls to CommandEncoder::resolve_query_set will be performed on the device (i.e. cpu) timeline
and will block that timeline until the query has data. You may work around this limitation by waiting until the submit
whose queries you are resolving is fully finished (through use of queue.on_submitted_work_done) and only
then submitting the resolve_query_set command. The queries will be guaranteed finished, so will not block.
Supported by:
- Vulkan,
- DX12
- Metal
- OpenGL 4.4+
Not Supported by:
- GL ES / WebGL
pub const SHADER_F16_IN_F32: DownlevelFlags
Available on crate feature wgpu-28 only.
pub const SHADER_F16_IN_F32: DownlevelFlags
wgpu-28 only.Allows shaders to use quantizeToF16, pack2x16float, and unpack2x16float, which
operate on f16-precision values stored in f32s.
Not supported by Vulkan on Mesa when [Features::SHADER_F16] is absent.
§impl DownlevelFlags
impl DownlevelFlags
pub const fn empty() -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn empty() -> DownlevelFlags
wgpu-28 only.Get a flags value with all bits unset.
pub const fn all() -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn all() -> DownlevelFlags
wgpu-28 only.Get a flags value with all known bits set.
pub const fn bits(&self) -> u32
Available on crate feature wgpu-28 only.
pub const fn bits(&self) -> u32
wgpu-28 only.Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
pub const fn from_bits(bits: u32) -> Option<DownlevelFlags>
Available on crate feature wgpu-28 only.
pub const fn from_bits(bits: u32) -> Option<DownlevelFlags>
wgpu-28 only.Convert from a bits value.
This method will return None if any unknown bits are set.
pub const fn from_bits_truncate(bits: u32) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn from_bits_truncate(bits: u32) -> DownlevelFlags
wgpu-28 only.Convert from a bits value, unsetting any unknown bits.
pub const fn from_bits_retain(bits: u32) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn from_bits_retain(bits: u32) -> DownlevelFlags
wgpu-28 only.Convert from a bits value exactly.
pub fn from_name(name: &str) -> Option<DownlevelFlags>
Available on crate feature wgpu-28 only.
pub fn from_name(name: &str) -> Option<DownlevelFlags>
wgpu-28 only.Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
pub const fn is_empty(&self) -> bool
Available on crate feature wgpu-28 only.
pub const fn is_empty(&self) -> bool
wgpu-28 only.Whether all bits in self are unset.
pub const fn is_all(&self) -> bool
Available on crate feature wgpu-28 only.
pub const fn is_all(&self) -> bool
wgpu-28 only.Whether all known bits in this flags value are set.
pub const fn intersects(&self, other: DownlevelFlags) -> bool
Available on crate feature wgpu-28 only.
pub const fn intersects(&self, other: DownlevelFlags) -> bool
wgpu-28 only.Whether any set bits in other are also set in self.
pub const fn contains(&self, other: DownlevelFlags) -> bool
Available on crate feature wgpu-28 only.
pub const fn contains(&self, other: DownlevelFlags) -> bool
wgpu-28 only.Whether all set bits in other are also set in self.
pub fn insert(&mut self, other: DownlevelFlags)
Available on crate feature wgpu-28 only.
pub fn insert(&mut self, other: DownlevelFlags)
wgpu-28 only.The bitwise or (|) of the bits in self and other.
pub fn remove(&mut self, other: DownlevelFlags)
Available on crate feature wgpu-28 only.
pub fn remove(&mut self, other: DownlevelFlags)
wgpu-28 only.The intersection of self with the complement of other (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
pub fn toggle(&mut self, other: DownlevelFlags)
Available on crate feature wgpu-28 only.
pub fn toggle(&mut self, other: DownlevelFlags)
wgpu-28 only.The bitwise exclusive-or (^) of the bits in self and other.
pub fn set(&mut self, other: DownlevelFlags, value: bool)
Available on crate feature wgpu-28 only.
pub fn set(&mut self, other: DownlevelFlags, value: bool)
wgpu-28 only.Call insert when value is true or remove when value is false.
pub const fn intersection(self, other: DownlevelFlags) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn intersection(self, other: DownlevelFlags) -> DownlevelFlags
wgpu-28 only.The bitwise and (&) of the bits in self and other.
pub const fn union(self, other: DownlevelFlags) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn union(self, other: DownlevelFlags) -> DownlevelFlags
wgpu-28 only.The bitwise or (|) of the bits in self and other.
pub const fn difference(self, other: DownlevelFlags) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn difference(self, other: DownlevelFlags) -> DownlevelFlags
wgpu-28 only.The intersection of self with the complement of other (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
pub const fn symmetric_difference(self, other: DownlevelFlags) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn symmetric_difference(self, other: DownlevelFlags) -> DownlevelFlags
wgpu-28 only.The bitwise exclusive-or (^) of the bits in self and other.
pub const fn complement(self) -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn complement(self) -> DownlevelFlags
wgpu-28 only.The bitwise negation (!) of the bits in self, truncating the result.
§impl DownlevelFlags
impl DownlevelFlags
pub const fn iter(&self) -> Iter<DownlevelFlags>
Available on crate feature wgpu-28 only.
pub const fn iter(&self) -> Iter<DownlevelFlags>
wgpu-28 only.Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
pub const fn iter_names(&self) -> IterNames<DownlevelFlags>
Available on crate feature wgpu-28 only.
pub const fn iter_names(&self) -> IterNames<DownlevelFlags>
wgpu-28 only.Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
§impl DownlevelFlags
impl DownlevelFlags
pub const fn compliant() -> DownlevelFlags
Available on crate feature wgpu-28 only.
pub const fn compliant() -> DownlevelFlags
wgpu-28 only.All flags that indicate if the backend is WebGPU compliant
Trait Implementations§
§impl Binary for DownlevelFlags
impl Binary for DownlevelFlags
§impl BitAnd for DownlevelFlags
impl BitAnd for DownlevelFlags
§fn bitand(self, other: DownlevelFlags) -> DownlevelFlags
fn bitand(self, other: DownlevelFlags) -> DownlevelFlags
The bitwise and (&) of the bits in self and other.
§type Output = DownlevelFlags
type Output = DownlevelFlags
& operator.§impl BitAndAssign for DownlevelFlags
impl BitAndAssign for DownlevelFlags
§fn bitand_assign(&mut self, other: DownlevelFlags)
fn bitand_assign(&mut self, other: DownlevelFlags)
The bitwise and (&) of the bits in self and other.
§impl BitOr for DownlevelFlags
impl BitOr for DownlevelFlags
§fn bitor(self, other: DownlevelFlags) -> DownlevelFlags
fn bitor(self, other: DownlevelFlags) -> DownlevelFlags
The bitwise or (|) of the bits in self and other.
§type Output = DownlevelFlags
type Output = DownlevelFlags
| operator.§impl BitOrAssign for DownlevelFlags
impl BitOrAssign for DownlevelFlags
§fn bitor_assign(&mut self, other: DownlevelFlags)
fn bitor_assign(&mut self, other: DownlevelFlags)
The bitwise or (|) of the bits in self and other.
§impl BitXor for DownlevelFlags
impl BitXor for DownlevelFlags
§fn bitxor(self, other: DownlevelFlags) -> DownlevelFlags
fn bitxor(self, other: DownlevelFlags) -> DownlevelFlags
The bitwise exclusive-or (^) of the bits in self and other.
§type Output = DownlevelFlags
type Output = DownlevelFlags
^ operator.§impl BitXorAssign for DownlevelFlags
impl BitXorAssign for DownlevelFlags
§fn bitxor_assign(&mut self, other: DownlevelFlags)
fn bitxor_assign(&mut self, other: DownlevelFlags)
The bitwise exclusive-or (^) of the bits in self and other.
§impl Clone for DownlevelFlags
impl Clone for DownlevelFlags
§fn clone(&self) -> DownlevelFlags
fn clone(&self) -> DownlevelFlags
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for DownlevelFlags
impl Debug for DownlevelFlags
§impl Extend<DownlevelFlags> for DownlevelFlags
impl Extend<DownlevelFlags> for DownlevelFlags
§fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = DownlevelFlags>,
fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = DownlevelFlags>,
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)§impl Flags for DownlevelFlags
impl Flags for DownlevelFlags
§const FLAGS: &'static [Flag<DownlevelFlags>]
const FLAGS: &'static [Flag<DownlevelFlags>]
§fn from_bits_retain(bits: u32) -> DownlevelFlags
fn from_bits_retain(bits: u32) -> DownlevelFlags
§fn known_bits(&self) -> Self::Bits
fn known_bits(&self) -> Self::Bits
§fn unknown_bits(&self) -> Self::Bits
fn unknown_bits(&self) -> Self::Bits
§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
§fn iter_defined_names() -> IterDefinedNames<Self>
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS].§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
other are also set in self.§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
other are also set in self.§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in self and other.§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in self and other.§fn set(&mut self, other: Self, value: bool)where
Self: Sized,
fn set(&mut self, other: Self, value: bool)where
Self: Sized,
Flags::insert] when value is true or [Flags::remove] when value is false.§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in self and other.§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in self and other.§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in self, truncating the result.§impl FromIterator<DownlevelFlags> for DownlevelFlags
impl FromIterator<DownlevelFlags> for DownlevelFlags
§fn from_iter<T>(iterator: T) -> DownlevelFlagswhere
T: IntoIterator<Item = DownlevelFlags>,
fn from_iter<T>(iterator: T) -> DownlevelFlagswhere
T: IntoIterator<Item = DownlevelFlags>,
The bitwise or (|) of the bits in each flags value.
§impl Hash for DownlevelFlags
impl Hash for DownlevelFlags
§impl IntoIterator for DownlevelFlags
impl IntoIterator for DownlevelFlags
§type Item = DownlevelFlags
type Item = DownlevelFlags
§type IntoIter = Iter<DownlevelFlags>
type IntoIter = Iter<DownlevelFlags>
§fn into_iter(self) -> <DownlevelFlags as IntoIterator>::IntoIter
fn into_iter(self) -> <DownlevelFlags as IntoIterator>::IntoIter
§impl LowerHex for DownlevelFlags
impl LowerHex for DownlevelFlags
§impl Not for DownlevelFlags
impl Not for DownlevelFlags
§fn not(self) -> DownlevelFlags
fn not(self) -> DownlevelFlags
The bitwise negation (!) of the bits in self, truncating the result.
§type Output = DownlevelFlags
type Output = DownlevelFlags
! operator.§impl Octal for DownlevelFlags
impl Octal for DownlevelFlags
§impl Ord for DownlevelFlags
impl Ord for DownlevelFlags
§impl PartialEq for DownlevelFlags
impl PartialEq for DownlevelFlags
§impl PartialOrd for DownlevelFlags
impl PartialOrd for DownlevelFlags
§impl Sub for DownlevelFlags
impl Sub for DownlevelFlags
§fn sub(self, other: DownlevelFlags) -> DownlevelFlags
fn sub(self, other: DownlevelFlags) -> DownlevelFlags
The intersection of self with the complement of other (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§type Output = DownlevelFlags
type Output = DownlevelFlags
- operator.§impl SubAssign for DownlevelFlags
impl SubAssign for DownlevelFlags
§fn sub_assign(&mut self, other: DownlevelFlags)
fn sub_assign(&mut self, other: DownlevelFlags)
The intersection of self with the complement of other (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§impl UpperHex for DownlevelFlags
impl UpperHex for DownlevelFlags
impl Copy for DownlevelFlags
impl Eq for DownlevelFlags
impl StructuralPartialEq for DownlevelFlags
Auto Trait Implementations§
impl Freeze for DownlevelFlags
impl RefUnwindSafe for DownlevelFlags
impl Send for DownlevelFlags
impl Sync for DownlevelFlags
impl Unpin for DownlevelFlags
impl UnsafeUnpin for DownlevelFlags
impl UnwindSafe for DownlevelFlags
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.