pub struct ResolvedRevset<'a> { /* private fields */ }Expand description
Resolved revset expression, bundled with any extra index data needed to evaluate it.
An at_operation() expression may resolve to commits that don’t exist in
the index of the repo the expression will be evaluated against (e.g. if
the operation is a descendant or a sibling of the current operation, not an
ancestor.) In that case, this type also carries an in-memory index covering
those commits, and evaluation will use that index instead of the repo’s.
Implementations§
Source§impl ResolvedRevset<'_>
impl ResolvedRevset<'_>
Sourcepub fn evaluate(&self) -> Result<Box<dyn Revset>, RevsetEvaluationError>
pub fn evaluate(&self) -> Result<Box<dyn Revset>, RevsetEvaluationError>
Optimizes and evaluates this expression.
Sourcepub fn into_inner(
self,
) -> (Arc<ResolvedRevsetExpression>, Vec<Arc<ReadonlyRepo>>)
pub fn into_inner( self, ) -> (Arc<ResolvedRevsetExpression>, Vec<Arc<ReadonlyRepo>>)
Returns the resolved expression and all the repos brought into context due to at_operation expressions.
The expression should be evaluated against an index merged across all the
repos. Evaluating it by itself may fail if the expression contained
at_operation() referring to commits that don’t exist in the index of the
repo it is evaluated against. It is strongly advised callers use
ResolvedRevset::evaluate instead.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !Freeze for ResolvedRevset<'a>
impl<'a> !RefUnwindSafe for ResolvedRevset<'a>
impl<'a> !Send for ResolvedRevset<'a>
impl<'a> !Sync for ResolvedRevset<'a>
impl<'a> !UnwindSafe for ResolvedRevset<'a>
impl<'a> Unpin for ResolvedRevset<'a>
impl<'a> UnsafeUnpin for ResolvedRevset<'a>
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> 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