Skip to main content

ClassNode

Struct ClassNode 

Source
pub struct ClassNode(/* private fields */);
Expand description

Salsa input representing a single class or interface in the inheritance graph. Fields are kept minimal — only what class_ancestors needs.

Invariant: every FQCN in the codebase that is known to the Salsa DB has exactly one ClassNode handle, stored in MirDb::class_nodes. When a class is removed (file deleted or re-indexed), its node is marked active = false rather than dropped, so dependent class_ancestors queries can still observe the change and re-run.

Implementations§

Source§

impl ClassNode

Source

pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>

Source

pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)

Source§

impl ClassNode

Source

pub fn new<Db_>( db: &Db_, fqcn: Arc<str>, active: bool, is_interface: bool, is_trait: bool, is_enum: bool, is_abstract: bool, parent: Option<Arc<str>>, interfaces: Arc<[Arc<str>]>, traits: Arc<[Arc<str>]>, extends: Arc<[Arc<str>]>, template_params: Arc<[TemplateParam]>, require_extends: Arc<[Arc<str>]>, require_implements: Arc<[Arc<str>]>, is_backed_enum: bool, mixins: Arc<[Arc<str>]>, deprecated: Option<Arc<str>>, enum_scalar_type: Option<Union>, is_final: bool, is_readonly: bool, location: Option<Location>, extends_type_args: Arc<[Union]>, implements_type_args: ImplementsTypeArgs, ) -> Self
where Db_: ?Sized + Database,

Source

pub fn builder( fqcn: Arc<str>, active: bool, is_interface: bool, is_trait: bool, is_enum: bool, is_abstract: bool, parent: Option<Arc<str>>, interfaces: Arc<[Arc<str>]>, traits: Arc<[Arc<str>]>, extends: Arc<[Arc<str>]>, template_params: Arc<[TemplateParam]>, require_extends: Arc<[Arc<str>]>, require_implements: Arc<[Arc<str>]>, is_backed_enum: bool, mixins: Arc<[Arc<str>]>, deprecated: Option<Arc<str>>, enum_scalar_type: Option<Union>, is_final: bool, is_readonly: bool, location: Option<Location>, extends_type_args: Arc<[Union]>, implements_type_args: ImplementsTypeArgs, ) -> <Self as HasBuilder>::Builder

Source

pub fn fqcn<'db, Db_>(self, db: &'db Db_) -> Arc<str>
where Db_: ?Sized + Database,

Source

pub fn active<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

false when the class has been removed from the codebase. Dependent queries observe this change and re-run, returning empty ancestors.

Source

pub fn is_interface<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

Source

pub fn is_trait<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true for trait nodes. Traits don’t currently participate in the class_ancestors query (it returns empty for traits), but registering them as ClassNodes lets callers answer type_exists-style questions through the db.

Source

pub fn is_enum<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true for enum nodes. See note on is_trait.

Source

pub fn is_abstract<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true if the class is declared abstract. Always false for interfaces, traits, and enums.

Source

pub fn parent<'db, Db_>(self, db: &'db Db_) -> Option<Arc<str>>
where Db_: ?Sized + Database,

Direct parent class (classes only; None for interfaces).

Source

pub fn interfaces<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

Directly implemented interfaces (classes only).

Source

pub fn traits<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

Used traits (classes only). Traits are added to the ancestor list but their own ancestors are not recursed into, matching PHP semantics.

Source

pub fn extends<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

Directly extended interfaces (interfaces only).

Source

pub fn template_params<'db, Db_>(self, db: &'db Db_) -> Arc<[TemplateParam]>
where Db_: ?Sized + Database,

Declared @template parameters from the class/interface/trait docblock. Empty for classes without templates.

Source

pub fn require_extends<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

@psalm-require-extends / @phpstan-require-extends — FQCNs that using classes must extend. Populated for trait nodes only; empty for classes/interfaces/enums.

Source

pub fn require_implements<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

@psalm-require-implements / @phpstan-require-implements — FQCNs that using classes must implement. Populated for trait nodes only; empty for classes/interfaces/enums.

Source

pub fn is_backed_enum<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true if this is a backed enum (declared with a scalar type). Always false for non-enum nodes and pure (unbacked) enums. Used by extends_or_implements_via_db to answer the implicit BackedEnum interface check.

Source

pub fn mixins<'db, Db_>(self, db: &'db Db_) -> Arc<[Arc<str>]>
where Db_: ?Sized + Database,

@mixin / @psalm-mixin FQCNs declared on the class docblock. Used by lookup_method_in_chain for delegated magic-method lookup. Empty for interfaces, traits, and enums (mixin is a class-only docblock concept).

Source

pub fn deprecated<'db, Db_>(self, db: &'db Db_) -> Option<Arc<str>>
where Db_: ?Sized + Database,

@deprecated message from the class docblock, if any. Mirrors ClassStorage::deprecated. Empty / None for interfaces, traits, and enums (S5-PR42 only mirrors the class-level field — those storages don’t carry a deprecated message).

Source

pub fn enum_scalar_type<'db, Db_>(self, db: &'db Db_) -> Option<Union>
where Db_: ?Sized + Database,

For backed-enum nodes: the declared scalar type (int/string). Mirrors EnumStorage::scalar_type. None for non-enum nodes and for unbacked (pure) enums. Used by the Enum->value property read in expr.rs to return the backed scalar type instead of mixed.

Source

pub fn is_final<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true if the class is declared final. Always false for interfaces, traits, and enums (PHP enums are implicitly final but the codebase doesn’t currently track that on EnumStorage).

Source

pub fn is_readonly<'db, Db_>(self, db: &'db Db_) -> bool
where Db_: ?Sized + Database,

true if the class is declared readonly. Always false for non-class kinds.

Source

pub fn location<'db, Db_>(self, db: &'db Db_) -> Option<Location>
where Db_: ?Sized + Database,

Source location of the class declaration. Mirrors ClassStorage::location (and InterfaceStorage::location, TraitStorage::location, EnumStorage::location). Used by ClassAnalyzer to attribute issues to the right span.

Source

pub fn extends_type_args<'db, Db_>(self, db: &'db Db_) -> Arc<[Union]>
where Db_: ?Sized + Database,

Type arguments from @extends Parent<T1, T2> — populated for classes only. Mirrors ClassStorage::extends_type_args.

Source

pub fn implements_type_args<'db, Db_>(self, db: &'db Db_) -> ImplementsTypeArgs
where Db_: ?Sized + Database,

Type arguments from @implements Iface<T1, T2> — populated for classes only. Mirrors ClassStorage::implements_type_args.

Source

pub fn set_fqcn<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<str>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_active<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_interface<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_trait<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_enum<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_abstract<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_parent<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Option<Arc<str>>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_interfaces<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_traits<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_extends<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_template_params<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[TemplateParam]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_require_extends<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_require_implements<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_backed_enum<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_mixins<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Arc<str>]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_deprecated<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Option<Arc<str>>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_enum_scalar_type<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Option<Union>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_final<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_is_readonly<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = bool> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_location<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Option<Location>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_extends_type_args<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<[Union]>> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn set_implements_type_args<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = ImplementsTypeArgs> + use<'db, Db_>
where Db_: ?Sized + Database,

Source

pub fn default_debug_fmt(this: Self, f: &mut Formatter<'_>) -> Result
where for<'__trivial_bounds> Arc<str>: Debug, for<'__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds> bool: Debug, for<'__trivial_bounds, '__trivial_bounds> Option<Arc<str>>: Debug, for<'__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds, '__trivial_bounds> Arc<[Arc<str>]>: Debug, for<'__trivial_bounds> Arc<[TemplateParam]>: Debug, for<'__trivial_bounds> Option<Union>: Debug, for<'__trivial_bounds> Option<Location>: Debug, for<'__trivial_bounds> Arc<[Union]>: Debug, for<'__trivial_bounds> ImplementsTypeArgs: Debug,

Default debug formatting for this struct (may be useful if you define your own Debug impl)

Trait Implementations§

Source§

impl AsId for ClassNode

Source§

fn as_id(&self) -> Id

Source§

impl Clone for ClassNode

Source§

fn clone(&self) -> ClassNode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Configuration for ClassNode

Source§

const LOCATION: Location

Source§

const DEBUG_NAME: &'static str = "ClassNode"

Source§

const FIELD_DEBUG_NAMES: &'static [&'static str]

Source§

const PERSIST: bool = false

Whether this struct should be persisted with the database.
Source§

type Singleton = NotSingleton

The singleton state for this input if any.
Source§

type Struct = ClassNode

The input struct (which wraps an Id)
Source§

type Fields = (Arc<str>, bool, bool, bool, bool, bool, Option<Arc<str>>, Arc<[Arc<str>]>, Arc<[Arc<str>]>, Arc<[Arc<str>]>, Arc<[TemplateParam]>, Arc<[Arc<str>]>, Arc<[Arc<str>]>, bool, Arc<[Arc<str>]>, Option<Arc<str>>, Option<Union>, bool, bool, Option<Location>, Arc<[Union]>, Arc<[(Arc<str>, Arc<[Union]>)]>)

A (possibly empty) tuple of the fields for this struct.
Source§

type Revisions = [Revision; 22]

Source§

type Durabilities = [Durability; 22]

Source§

fn serialize<S: Serializer>( fields: &Self::Fields, serializer: S, ) -> Result<S::Ok, S::Error>

Serialize the fields using serde. Read more
Source§

fn deserialize<'de, D: Deserializer<'de>>( deserializer: D, ) -> Result<Self::Fields, D::Error>

Deserialize the fields using serde. Read more
Source§

fn heap_size(_value: &Self::Fields) -> Option<usize>

Returns the size of any heap allocations in the output value, in bytes.
Source§

impl FromId for ClassNode

Source§

fn from_id(id: Id) -> Self

Source§

impl HasBuilder for ClassNode

Source§

type Builder = Builder_

Source§

impl HasJar for ClassNode

Source§

const KIND: JarKind = zalsa_::JarKind::Struct

The [JarKind] for Self::Jar.
Source§

type Jar = JarImpl<ClassNode>

The [Jar] associated with this ingredient.
Source§

impl Hash for ClassNode

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ClassNode

Source§

fn eq(&self, other: &ClassNode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SalsaStructInDb for ClassNode

Source§

type MemoIngredientMap = MemoIngredientSingletonIndex

Source§

fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices

Lookup or create ingredient indices. Read more
Source§

fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_

Returns the IDs of any instances of this struct in the database.
Source§

fn cast(id: Id, type_id: TypeId) -> Option<Self>

Plumbing to support nested salsa supertypes. Read more
Source§

unsafe fn memo_table( zalsa: &Zalsa, id: Id, current_revision: Revision, ) -> MemoTableWithTypes<'_>

Return the memo table associated with id. Read more
Source§

impl Update for ClassNode

Source§

unsafe fn maybe_update(old_pointer: *mut Self, new_value: Self) -> bool

Returns Read more
Source§

impl Copy for ClassNode

Source§

impl Eq for ClassNode

Source§

impl StructuralPartialEq for ClassNode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> HashEqLike<&T> for T
where T: Hash + Eq,

Source§

fn hash<H>(&self, h: &mut H)
where H: Hasher,

Source§

fn eq(&self, data: &&T) -> bool

Source§

impl<T> HashEqLike<Cow<'_, T>> for T
where T: Hash + Eq + Clone,

Source§

fn hash<H>(&self, h: &mut H)
where H: Hasher,

Source§

fn eq(&self, data: &Cow<'_, T>) -> bool

Source§

impl<T> HashEqLike<T> for T
where T: Hash + Eq,

Source§

fn hash<H>(&self, h: &mut H)
where H: Hasher,

Source§

fn eq(&self, data: &T) -> bool

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Lookup<T> for T

Source§

fn into_owned(self) -> T

Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more