pub enum Type {
Nominal {
module: &'static str,
path: Vec<&'static str>,
kind: Kind,
},
Bound(Box<Type>, Vec<Type>),
Void,
Verbatim(String),
Opt(Box<Type>),
Pack(Box<Type>, Vec<Type>),
}Expand description
A Swift type, as a tree the compressor can walk.
Variants§
Nominal
A nominal type: a module, the path to it, and what kind it is.
Bound(Box<Type>, Vec<Type>)
A generic type applied to arguments.
Void
The empty tuple, ().
Verbatim(String)
A type with a mangling of its own, such as Si or s5NeverO.
Opt(Box<Type>)
Optional<T>, which Swift writes as T followed by Sg rather than
through the generic form.
Pack(Box<Type>, Vec<Type>)
A generic applied to a parameter pack — Predicate<Pack{URL}>. The
arguments are followed by _QP rather than closed directly.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Type
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnsafeUnpin for Type
impl UnwindSafe for Type
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