pub struct Planner;Expand description
Planner: Goal → Vec
Implementations§
Source§impl Planner
impl Planner
Sourcepub fn plan(
goal: &Goal,
registry: Option<&SymbolRegistry>,
) -> PlanResult<Vec<MutationSpec>>
pub fn plan( goal: &Goal, registry: Option<&SymbolRegistry>, ) -> PlanResult<Vec<MutationSpec>>
Plan mutations from a Goal (supports multiple intents)
§Arguments
goal- The goal containing intents to planregistry- Optional SymbolRegistry for resolving Pattern::Direct to SymbolPath
§Note
- Duplicate CreateMod specs are automatically deduplicated to prevent conflicts when multiple AddCode intents target nested modules.
- Batch intent deferred resolution: When AddItem creates a symbol that is referenced by a later intent (e.g., AddDerive), the symbol_id is set to None and resolution is deferred to execution time.
Auto Trait Implementations§
impl Freeze for Planner
impl RefUnwindSafe for Planner
impl Send for Planner
impl Sync for Planner
impl Unpin for Planner
impl UnsafeUnpin for Planner
impl UnwindSafe for Planner
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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 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>
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