pub fn synth_clause(
    context: &Context,
    clause: Clause<'_>,
) -> Result<(core::RcTerm, domain::RcType), Diagnostic<FileSpan>> {
    if let Some(param) = clause.concrete_params.first() {
        // TODO: We will be able to type this once we have annotated patterns!
        return Err(
            Diagnostic::new_error("unable to infer the type of parameter")
                .with_label(DiagnosticLabel::new_primary(param.span())),
        );
    }

    synth_clause_body(&context, &clause)
}
/// Synthesize the type of the clauses, elaborating them into a case tree.
///
/// Returns the elaborated term and its synthesized type.
Synthesize the type of the clauses, elaborating them into a case tree.
Returns the elaborated term and its synthesized type.
Synthesize the type of the clauses elaborating them into a case tree . Returns the elaborated term and its synthesized type .
pub fn synth_clause(
    context: &Context,
    clause: Clause<'_>,
) -> Result<(core::RcTerm, domain::RcType), Diagnostic<FileSpan>> {
    if let Some(param) = clause.concrete_params.first() {
        // TODO: We will be able to type this once we have annotated patterns!
        return Err(
            Diagnostic::new_error("unable to infer the type of parameter")
                .with_label(DiagnosticLabel::new_primary(param.span())),
        );
    }
    synth_clause_body(&context, &clause)
}
pub fn synth_clause ( context : & Context , clause : Clause < ' _ > , ) -> Result < ( core :: RcTerm , domain :: RcType ) , Diagnostic < FileSpan > > { if let Some ( param ) = clause . concrete_params . first ( ) { // TODO: We will be able to type this once we have annotated patterns! return Err ( Diagnostic :: new_error ( " " ) . with_label ( DiagnosticLabel :: new_primary ( param . span ( ) ) ) , ) ; } synth_clause_body ( & context , & clause ) }
Synthesize the type of the clauses, elaborating them into a case tree.
Synthesize the type of the clauses elaborating them into a case tree .
context
&Context
clause
Clause<'_>