Skip to main content

CompiledPlugin

Struct CompiledPlugin 

Source
pub struct CompiledPlugin { /* private fields */ }
Expand description

A single compiled plugin ready to be wrapped by a consumer-side Segment adapter.

Field visibility is pub(crate) — the registry is the only factory (compile_plugin is the sole construction site), and the only mutator. This keeps the non-empty-id, status-first-dep, non-reserved-dep invariants the factory enforces from being silently violated by a third-party caller that constructs the struct directly. Field accessors are pub for consumers.

declared_deps is a raw Vec<String> of the header-declared dep tokens (always with "status" first). The consumer maps these back to its own dep enum at registration time and is responsible for any &'static promotion required by its Segment trait.

Construction runs the script’s top-level statements once to extract const ID; plugin authors with side effects at module scope pay that cost at registry build, not at first render.

Implementations§

Source§

impl CompiledPlugin

Source

pub fn id(&self) -> &str

Source

pub fn path(&self) -> &Path

Source

pub fn declared_deps(&self) -> &[String]

Source

pub fn into_parts(self) -> CompiledPluginParts

Consume the plugin, yielding its constituent fields as a named-field CompiledPluginParts. Used by consumer-side Segment adapters that need to take ownership of the AST and the dep list. Named fields keep the call site readable and let new fields be added without breaking destructures.

Trait Implementations§

Source§

impl Debug for CompiledPlugin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.