pub struct CallerRewrite {
pub caller_id: SymbolId,
pub patterns: Vec<CallerPattern>,
pub is_public: bool,
}Expand description
Per-caller rewrite metadata returned by scan_cross_crate_callers.
Fields§
§caller_id: SymbolIdCaller container symbol (typically a PureFn).
patterns: Vec<CallerPattern>Patterns detected in this caller; the executor’s Phase 2d engine will run one rewrite path per entry.
is_public: boolPhase 4-A: whether the caller is pub (visible outside its
own crate). True only for PureVis::Public; pub(crate),
pub(super), pub(in path), and private all map to false.
When this is true AND the caller carries GenericBound, the
Phase 2g rewriter changes the caller’s external API contract.
Downstream call sites in unrelated crates would have to be
updated. Phase 4-A surfaces this as a warning footnote on the
MutationResult.description; Phase 4-B will add the transitive
walk that decides whether the cascade actually leaves the
current workspace.
Trait Implementations§
Source§impl Clone for CallerRewrite
impl Clone for CallerRewrite
Source§fn clone(&self) -> CallerRewrite
fn clone(&self) -> CallerRewrite
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CallerRewrite
impl RefUnwindSafe for CallerRewrite
impl Send for CallerRewrite
impl Sync for CallerRewrite
impl Unpin for CallerRewrite
impl UnsafeUnpin for CallerRewrite
impl UnwindSafe for CallerRewrite
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> 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>
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 more