pub struct UnicodeMangler;
Expand description
A mangler that uses cryptic unicode symbols that look like :, < and >
e.g. foo::bar::baz array<f32,2> => foo::bar::baz::arrayᐸf32ˏ2ᐳ
Very unlikely to collide unless using U+02D0 characters.
§Panics
if the TypeExpression is not normalized (i.e. contains only identifiers and literals)
Trait Implementations§
Source§impl Clone for UnicodeMangler
impl Clone for UnicodeMangler
Source§fn clone(&self) -> UnicodeMangler
fn clone(&self) -> UnicodeMangler
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for UnicodeMangler
impl Debug for UnicodeMangler
Source§impl Default for UnicodeMangler
impl Default for UnicodeMangler
Source§fn default() -> UnicodeMangler
fn default() -> UnicodeMangler
Returns the “default value” for a type. Read more
Source§impl Mangler for UnicodeMangler
impl Mangler for UnicodeMangler
Source§fn mangle(&self, path: &ModulePath, item: &str) -> String
fn mangle(&self, path: &ModulePath, item: &str) -> String
Turn an import path and item name into a mangled WGSL identifier.
Source§fn unmangle(&self, mangled: &str) -> Option<(ModulePath, String)>
fn unmangle(&self, mangled: &str) -> Option<(ModulePath, String)>
Reverse the
Mangler::mangle
operation. Implementing this is optional.Source§fn mangle_types(
&self,
item: &str,
_variant: u32,
types: &[TypeExpression],
) -> String
fn mangle_types( &self, item: &str, _variant: u32, types: &[TypeExpression], ) -> String
Used for generics. Is experimental. Implementing is optional.
Auto Trait Implementations§
impl Freeze for UnicodeMangler
impl RefUnwindSafe for UnicodeMangler
impl Send for UnicodeMangler
impl Sync for UnicodeMangler
impl Unpin for UnicodeMangler
impl UnwindSafe for UnicodeMangler
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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