pub struct PatternCompiler { /* private fields */ }Expand description
Pattern match compiler.
Compiles surface-level patterns into decision trees for efficient matching.
Implementations§
Source§impl PatternCompiler
impl PatternCompiler
Sourcepub fn compile(
&mut self,
patterns: &[(Located<Pattern>, Located<SurfaceExpr>)],
) -> Result<DecisionTree, String>
pub fn compile( &mut self, patterns: &[(Located<Pattern>, Located<SurfaceExpr>)], ) -> Result<DecisionTree, String>
Compile surface-level patterns to a decision tree.
Sourcepub fn compile_equations(
&mut self,
equations: &[MatchEquation],
) -> Result<DecisionTree, String>
pub fn compile_equations( &mut self, equations: &[MatchEquation], ) -> Result<DecisionTree, String>
Compile from elaborated match equations.
Sourcepub fn from_match_arms(
&mut self,
ctx: &mut ElabContext<'_>,
_scrutinee_ty: &Expr,
arms: &[MatchArm],
) -> Result<(DecisionTree, MatchResult), String>
pub fn from_match_arms( &mut self, ctx: &mut ElabContext<'_>, _scrutinee_ty: &Expr, arms: &[MatchArm], ) -> Result<(DecisionTree, MatchResult), String>
Compile from match arms (with guards).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PatternCompiler
impl RefUnwindSafe for PatternCompiler
impl Send for PatternCompiler
impl Sync for PatternCompiler
impl Unpin for PatternCompiler
impl UnsafeUnpin for PatternCompiler
impl UnwindSafe for PatternCompiler
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