pub enum Type {
Show 26 variants
Int8,
Int16,
Int32,
Int64,
Float,
Double,
String,
Bool,
Inject(Box<Type>),
Provide(Box<Type>),
Pointer(Box<Type>),
Ref(Box<Type>),
Generic(Box<Type>, Vec<Type>),
GenericInstance {
template: Box<Type>,
instance: Box<Type>,
},
Alias(String),
Struct(Option<String>, Vec<(String, Type)>),
Enum(Option<String>, Vec<(String, Option<Type>)>),
Function(Box<Type>, Vec<(String, Type)>, bool),
Array(Box<Type>),
Map(Box<Type>, Box<Type>),
Closure {
name: Option<String>,
ptr: (Box<Type>, Vec<(String, Type)>),
env: Vec<(String, Type)>,
},
Any,
Unit,
ArrayVarArg(Box<Type>),
VarArg,
Module,
}
Variants§
Int8
Int16
Int32
Int64
Float
Double
String
Bool
Inject(Box<Type>)
Provide(Box<Type>)
Pointer(Box<Type>)
Ref(Box<Type>)
Generic(Box<Type>, Vec<Type>)
GenericInstance
Alias(String)
Struct(Option<String>, Vec<(String, Type)>)
Enum(Option<String>, Vec<(String, Option<Type>)>)
Function(Box<Type>, Vec<(String, Type)>, bool)
Function(返回值,参数列表,是否Vararg)
Array(Box<Type>)
Map(Box<Type>, Box<Type>)
Closure
Any
Unit
ArrayVarArg(Box<Type>)
VarArg
Module
Implementations§
Source§impl Type
impl Type
pub fn get_struct_name(&self) -> Option<&str>
pub fn get_composite_type_name(&self) -> Option<&str>
pub fn get_generic_wrapper(&self) -> Option<&Type>
pub fn unwrap_ref(&self) -> Type
pub fn has_name(&self) -> bool
pub fn set_name(&mut self, name: String)
pub fn is_generic_instance(&self) -> bool
pub fn set_composite_type_name(&mut self, name: Option<String>)
pub fn is_integer(&self) -> bool
pub fn get_enum_variant_type(&self, name: &str) -> Option<Type>
pub fn is_float(&self) -> bool
pub fn is_double(&self) -> bool
pub fn is_generic(&self) -> bool
pub fn id(&self) -> i32
pub fn is_primitive(&self) -> bool
pub fn as_struct(&self) -> Option<&Vec<(String, Type)>>
pub fn get_generic_template(&self) -> Option<&Type>
pub fn is_function(&self) -> bool
pub fn is_module(&self) -> bool
pub fn is_pointer(&self) -> bool
pub fn is_array_vararg(&self) -> bool
pub fn with_return_type(&self, return_type: Type) -> Type
pub fn is_ref(&self) -> bool
pub fn get_struct_field( &self, ctx: &Context, name: impl AsRef<str>, ) -> Option<(usize, Type)>
pub fn get_function_arg_count(&self) -> usize
pub fn get_closure_fn_name(&self) -> Option<String>
pub fn get_function_arg_type(&self, index: usize) -> Option<Type>
pub fn is_i8(&self) -> bool
pub fn is_any(&self) -> bool
pub fn is_string(&self) -> bool
pub fn is_i16(&self) -> bool
pub fn is_i32(&self) -> bool
pub fn is_i64(&self) -> bool
pub fn is_struct(&self) -> bool
pub fn is_array(&self) -> bool
pub fn as_llvm_type(&self) -> LLVMType
pub fn get_alias_name(&self) -> Option<String>
pub fn get_struct_fields(&self) -> Option<&Vec<(String, Type)>>
pub fn is_closure(&self) -> bool
pub fn is_alias(&self) -> bool
pub fn get_function_return_type(&self) -> Option<Type>
pub fn get_element_type(&self) -> Option<&Type>
pub fn get_env_type(&self) -> Option<Type>
pub fn get_closure_name(&self) -> Option<String>
pub fn get_closure_fn_gen_type(&self) -> Option<Type>
pub fn set_enum_name(&mut self, name: String)
pub fn has_alias(&self) -> bool
pub fn as_str(&self) -> String
pub fn is_enum(&self) -> bool
pub fn get_enum_name(&self) -> Option<&str>
pub fn get_enum_variants(&self) -> Option<&Vec<(String, Option<Type>)>>
pub fn is_vararg_function(&self) -> bool
pub fn is_array_vararg_fucntion(&self) -> bool
Trait Implementations§
impl Eq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations§
impl Freeze for Type
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);