pub fn bootstrap(&self, bootstrapping_rules: &[Rule]) -> Self {
        let mut bootstrapped = self.clone();
        for rule in bootstrapping_rules.iter() {
            bootstrapped.from = rule.transform(bootstrapped.from);
            bootstrapped.to = rule.transform(bootstrapped.to);
        }
        bootstrapped
    }
/// Bootstraps a `PatternMap` rule with a one-pass application of a rule set, which may include
/// the rule itself.
///
/// This allows the rule to match evaluated contexts that cannot be represented by a
/// `PatternMap` created from just a string form. For example, the rule
///
/// ```text
/// "-(_a - _b) -> _b - _a"
/// ```
///
/// in its raw form may only be applied to an expression with explicit parentheses. By
/// bootstrapping this rule with a rule that removes explicit parentheses, the rule can be
/// applied on expressions with implicit parentheses (i.e. of the prefix form `(- (- _a _b))`).
Bootstraps a `PatternMap` rule with a one-pass application of a rule set, which may include
the rule itself.

This allows the rule to match evaluated contexts that cannot be represented by a
`PatternMap` created from just a string form. For example, the rule



in its raw form may only be applied to an expression with explicit parentheses. By
bootstrapping this rule with a rule that removes explicit parentheses, the rule can be
applied on expressions with implicit parentheses )`).
Bootstraps a ` PatternMap ` rule with a one - pass application of a rule set which may include the rule itself . This allows the rule to match evaluated contexts that cannot be represented by a ` PatternMap ` created from just a string form . For example the rule in its raw form may only be applied to an expression with explicit parentheses . By bootstrapping this rule with a rule that removes explicit parentheses the rule can be applied on expressions with implicit parentheses ) ` ) .
pub fn bootstrap(&self, bootstrapping_rules: &[Rule]) -> Self {
        let mut bootstrapped = self.clone();
        for rule in bootstrapping_rules.iter() {
            bootstrapped.from = rule.transform(bootstrapped.from);
            bootstrapped.to = rule.transform(bootstrapped.to);
        }
        bootstrapped
    }
pub fn bootstrap ( & self , bootstrapping_rules : & [ Rule ] ) -> Self { let mut bootstrapped = self . clone ( ) ; for rule in bootstrapping_rules . iter ( ) { bootstrapped . from = rule . transform ( bootstrapped . from ) ; bootstrapped . to = rule . transform ( bootstrapped . to ) ; } bootstrapped }
Bootstraps a `PatternMap` rule with a one-pass application of a rule set, which may include
the rule itself.
Bootstraps a ` PatternMap ` rule with a one - pass application of a rule set which may include the rule itself .
&self
bootstrapping_rules
&[Rule]
&self
bootstrapping_rules
&[Rule]