pub fn match_<'s>(program: &Program<'s>) -> ValidationResult<Program<'s>> {
    let mut transformer = MatchTransform::new(program);
    let next_program = transformer.transform_program(program);
    if transformer.errors.is_empty() {
        Ok(next_program.replace_or_else(|| program.clone()))
    } else {
        Err(transformer.errors)
    }
}
/// Transform and validate @match and @module
Transform and validate @match and @module
Transform and validate @match and @module
pub fn match_<'s>(program: &Program<'s>) -> ValidationResult<Program<'s>> {
    let mut transformer = MatchTransform::new(program);
    let next_program = transformer.transform_program(program);
    if transformer.errors.is_empty() {
        Ok(next_program.replace_or_else(|| program.clone()))
    } else {
        Err(transformer.errors)
    }
}
pub fn match_ < ' s > ( program : & Program < ' s > ) -> ValidationResult < Program < ' s > > { let mut transformer = MatchTransform :: new ( program ) ; let next_program = transformer . transform_program ( program ) ; if transformer . errors . is_empty ( ) { Ok ( next_program . replace_or_else ( | | program . clone ( ) ) ) } else { Err ( transformer . errors ) } }
Transform and validate @match and @module
Transform and validate @match and @module
program
&Program<'s>
program
&Program<'s>