MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / checked_recur

Method checked_recur

src/ore/src/stack.rs:192–201  ·  view source on GitHub ↗
(&self, f: F)

Source from the content-addressed store, hash-verified

190 /// mutual recursion occurs.
191 #[inline(always)]
192 fn checked_recur<F, T, E>(&self, f: F) -> Result<T, E>
193 where
194 F: FnOnce(&Self) -> Result<T, E>,
195 E: From<RecursionLimitError>,
196 {
197 self.recursion_guard().descend()?;
198 let out = maybe_grow(|| f(self));
199 self.recursion_guard().ascend();
200 out
201 }
202
203 /// Like [`CheckedRecursion::checked_recur`], but operates on a mutable
204 /// reference to `Self`.

Callers 15

apply_recMethod · 0.80
plan_exprFunction · 0.80
typecheckMethod · 0.80
typecheck_scalarMethod · 0.80
typecheck_aggregateMethod · 0.80
actionMethod · 0.80
actionMethod · 0.80
actionMethod · 0.80
actionMethod · 0.80
harvestMethod · 0.80

Implementers 15

transform_ast.rssrc/sql/src/plan/transform_ast.rs
query.rssrc/sql/src/plan/query.rs
stack.rssrc/ore/src/stack.rs
dataflows.rssrc/adapter/src/optimize/dataflows.rs
parser.rssrc/sql-parser/src/parser.rs
typecheck.rssrc/transform/src/typecheck.rs
redundant_join.rssrc/transform/src/redundant_join.rs
literal_lifting.rssrc/transform/src/literal_lifting.rs
dataflow.rssrc/transform/src/dataflow.rs
non_null_requirements.rssrc/transform/src/non_null_requirement
predicate_pushdown.rssrc/transform/src/predicate_pushdown.r
column_knowledge.rssrc/transform/src/column_knowledge.rs

Calls 4

maybe_growFunction · 0.85
descendMethod · 0.80
ascendMethod · 0.80
recursion_guardMethod · 0.45

Tested by

no test coverage detected