pub enum ResolvedExpression {
Show 14 variants
Commits(Vec<CommitId>),
Ancestors {
heads: Box<Self>,
generation: Range<u64>,
},
Range {
roots: Box<Self>,
heads: Box<Self>,
generation: Range<u64>,
},
DagRange {
roots: Box<Self>,
heads: Box<Self>,
generation_from_roots: Range<u64>,
},
Reachable {
sources: Box<Self>,
domain: Box<Self>,
},
Heads(Box<Self>),
Roots(Box<Self>),
ForkPoint(Box<Self>),
Latest {
candidates: Box<Self>,
count: usize,
},
Coalesce(Box<Self>, Box<Self>),
Union(Box<Self>, Box<Self>),
FilterWithin {
candidates: Box<Self>,
predicate: ResolvedPredicateExpression,
},
Intersection(Box<Self>, Box<Self>),
Difference(Box<Self>, Box<Self>),
}
Expand description
Describes evaluation plan of revset expression.
Unlike RevsetExpression
, this doesn’t contain unresolved symbols or View
properties.
Use RevsetExpression
API to build a query programmatically.
Variants§
Commits(Vec<CommitId>)
Ancestors
Range
Commits that are ancestors of heads
but not ancestors of roots
.
DagRange
Commits that are descendants of roots
and ancestors of heads
.
Reachable
Commits reachable from sources
within domain
.
Heads(Box<Self>)
Roots(Box<Self>)
ForkPoint(Box<Self>)
Latest
Coalesce(Box<Self>, Box<Self>)
Union(Box<Self>, Box<Self>)
FilterWithin
Intersects candidates
with predicate
by filtering.
Intersection(Box<Self>, Box<Self>)
Intersects expressions by merging.
Difference(Box<Self>, Box<Self>)
Trait Implementations§
Source§impl Clone for ResolvedExpression
impl Clone for ResolvedExpression
Source§fn clone(&self) -> ResolvedExpression
fn clone(&self) -> ResolvedExpression
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for ResolvedExpression
impl !RefUnwindSafe for ResolvedExpression
impl !Send for ResolvedExpression
impl !Sync for ResolvedExpression
impl Unpin for ResolvedExpression
impl !UnwindSafe for ResolvedExpression
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> 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>
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