pub struct ComprehensionBuilder { /* private fields */ }Expand description
A builder for a comprehension.
Implementations§
Source§impl ComprehensionBuilder
impl ComprehensionBuilder
pub fn new(symbol_table_ptr: SymbolTablePtr) -> ComprehensionBuilder
Sourcepub fn generator_symboltable(&mut self) -> SymbolTablePtr
pub fn generator_symboltable(&mut self) -> SymbolTablePtr
Backwards-compatible parser API: same table for generators and return expression.
Sourcepub fn return_expr_symboltable(&mut self) -> SymbolTablePtr
pub fn return_expr_symboltable(&mut self) -> SymbolTablePtr
Backwards-compatible parser API: same table for generators and return expression.
pub fn guard(self, guard: Expression) -> ComprehensionBuilder
pub fn generator(self, declaration: DeclarationPtr) -> ComprehensionBuilder
Sourcepub fn with_return_value(
self,
expression: Expression,
comprehension_kind: Option<ACOperatorKind>,
) -> Comprehension
pub fn with_return_value( self, expression: Expression, comprehension_kind: Option<ACOperatorKind>, ) -> Comprehension
Creates a comprehension with the given return expression.
If this comprehension is inside an AC-operator, the kind of this operator should be passed
in the comprehension_kind field.
If a comprehension kind is not given, comprehension guards containing decision variables are invalid, and will cause a panic.
Trait Implementations§
Source§impl Clone for ComprehensionBuilder
impl Clone for ComprehensionBuilder
Source§fn clone(&self) -> ComprehensionBuilder
fn clone(&self) -> ComprehensionBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComprehensionBuilder
impl Debug for ComprehensionBuilder
Source§impl PartialEq for ComprehensionBuilder
impl PartialEq for ComprehensionBuilder
impl Eq for ComprehensionBuilder
impl StructuralPartialEq for ComprehensionBuilder
Auto Trait Implementations§
impl Freeze for ComprehensionBuilder
impl !RefUnwindSafe for ComprehensionBuilder
impl Send for ComprehensionBuilder
impl Sync for ComprehensionBuilder
impl Unpin for ComprehensionBuilder
impl UnsafeUnpin for ComprehensionBuilder
impl !UnwindSafe for ComprehensionBuilder
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 56 bytes