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

Method checked_recur_mut

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

Source from the content-addressed store, hash-verified

204 /// reference to `Self`.
205 #[inline(always)]
206 fn checked_recur_mut<F, T, E>(&mut self, f: F) -> Result<T, E>
207 where
208 F: FnOnce(&mut Self) -> Result<T, E>,
209 E: From<RecursionLimitError>,
210 {
211 self.recursion_guard().descend()?;
212 let out = maybe_grow(|| f(self));
213 self.recursion_guard().ascend();
214 out
215 }
216}
217
218/// Tracks recursion depth.

Callers 11

visit_internalMethod · 0.80
plan_queryFunction · 0.80
plan_nested_queryFunction · 0.80
plan_set_exprFunction · 0.80
parse_subexprMethod · 0.80
parse_subexpr_seededMethod · 0.80
parse_queryMethod · 0.80
parse_table_factorMethod · 0.80
insert_expressionMethod · 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