pub struct ResolvedType(/* private fields */);Expand description
SimplicityHL type without type aliases.
Implementations§
Source§impl ResolvedType
impl ResolvedType
Source§impl ResolvedType
Nominal enum types.
impl ResolvedType
Nominal enum types.
These methods are inherent rather than part of TypeConstructible and TypeDeconstructible.
Those traits model the structural type algebra that every type universe (aliased, resolved, structural)
shares, while a nominal enum exists only at the resolved level.
At the structural level its identity is erased into a balanced sum, and at the source level enums
enter types by name only.
Keeping the constructor off the shared traits also means that only crate::ast’s scope
(which owns the uniqueness of declaration ids) can mint enum types.
Sourcepub const fn enumeration(info: EnumInfo) -> Self
pub const fn enumeration(info: EnumInfo) -> Self
Create a nominal enum type from the given definition.
Sourcepub const fn as_enum(&self) -> Option<&EnumInfo>
pub const fn as_enum(&self) -> Option<&EnumInfo>
Access the enum definition if this is an enum type.
Sourcepub fn contains_enum(&self) -> bool
pub fn contains_enum(&self) -> bool
Check whether the type mentions an enum, at any nesting depth.
Trait Implementations§
Source§impl Clone for ResolvedType
impl Clone for ResolvedType
Source§fn clone(&self) -> ResolvedType
fn clone(&self) -> ResolvedType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedType
impl Debug for ResolvedType
Source§impl Display for ResolvedType
impl Display for ResolvedType
impl Eq for ResolvedType
Source§impl From<&ResolvedType> for StructuralType
impl From<&ResolvedType> for StructuralType
Source§fn from(value: &ResolvedType) -> Self
fn from(value: &ResolvedType) -> Self
Source§impl From<UIntType> for ResolvedType
impl From<UIntType> for ResolvedType
Source§impl Hash for ResolvedType
impl Hash for ResolvedType
Source§impl ParseFromStr for ResolvedType
impl ParseFromStr for ResolvedType
Source§fn parse_from_str(s: &str) -> Result<Self, Diagnostic>
fn parse_from_str(s: &str) -> Result<Self, Diagnostic>
s.Source§impl PartialEq for ResolvedType
impl PartialEq for ResolvedType
Source§impl Serialize for ResolvedType
impl Serialize for ResolvedType
impl StructuralPartialEq for ResolvedType
Source§impl TreeLike for &ResolvedType
impl TreeLike for &ResolvedType
Source§fn n_children(&self) -> usize
fn n_children(&self) -> usize
Source§fn nth_child(&self, n: usize) -> Option<Self>
fn nth_child(&self, n: usize) -> Option<Self>
Source§fn pre_order_iter(self) -> PreOrderIter<Self> ⓘ
fn pre_order_iter(self) -> PreOrderIter<Self> ⓘ
Source§fn verbose_pre_order_iter(self) -> VerbosePreOrderIter<Self> ⓘ
fn verbose_pre_order_iter(self) -> VerbosePreOrderIter<Self> ⓘ
Source§fn post_order_iter(self) -> PostOrderIter<Self> ⓘ
fn post_order_iter(self) -> PostOrderIter<Self> ⓘ
Source§impl TryFrom<&ResolvedType> for UIntType
impl TryFrom<&ResolvedType> for UIntType
Source§impl TypeConstructible for ResolvedType
impl TypeConstructible for ResolvedType
Source§fn tuple<I: IntoIterator<Item = Self>>(elements: I) -> Self
fn tuple<I: IntoIterator<Item = Self>>(elements: I) -> Self
elements. Read moreSource§fn array(element: Self, size: usize) -> Self
fn array(element: Self, size: usize) -> Self
size many values of the element type.Source§fn list(element: Self, bound: NonZeroPow2Usize) -> Self
fn list(element: Self, bound: NonZeroPow2Usize) -> Self
bound many values of the element type.Source§fn product(left: Self, right: Self) -> Self
fn product(left: Self, right: Self) -> Self
left and right types.Source§fn byte_array(size: usize) -> Self
fn byte_array(size: usize) -> Self
size many bytes.Source§impl TypeDeconstructible for ResolvedType
impl TypeDeconstructible for ResolvedType
Source§fn is_boolean(&self) -> bool
fn is_boolean(&self) -> bool
Source§fn as_integer(&self) -> Option<UIntType>
fn as_integer(&self) -> Option<UIntType>
Source§fn as_list(&self) -> Option<(&Self, NonZeroPow2Usize)>
fn as_list(&self) -> Option<(&Self, NonZeroPow2Usize)>
Auto Trait Implementations§
impl Freeze for ResolvedType
impl RefUnwindSafe for ResolvedType
impl Send for ResolvedType
impl Sync for ResolvedType
impl Unpin for ResolvedType
impl UnsafeUnpin for ResolvedType
impl UnwindSafe for ResolvedType
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 moreimpl<T> OrderedSeq<'_, T> 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>
renamed to 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);