fn unclosed_delimiter(opener: Token, expected_closer: TT, found_closer: Token) -> Diagnostic {
    let mut found_str = found_closer.to_string();
    if !matches!(found_closer.ty, TT::Eof) {
        found_str = format!("`{}`", found_str);
    }
    MismatchedClosingDelimiter!(expected expected_closer, at found_closer.span,
                                due to opener, at opener.span;
                                found found_str)
}
/// Returns a diagnostic for an unclosed delimiter.
Returns a diagnostic for an unclosed delimiter.
Returns a diagnostic for an unclosed delimiter .
fn unclosed_delimiter(opener: Token, expected_closer: TT, found_closer: Token) -> Diagnostic {
    let mut found_str = found_closer.to_string();
    if !matches!(found_closer.ty, TT::Eof) {
        found_str = format!("`{}`", found_str);
    }
    MismatchedClosingDelimiter!(expected expected_closer, at found_closer.span,
                                due to opener, at opener.span;
                                found found_str)
}
fn unclosed_delimiter ( opener : Token , expected_closer : TT , found_closer : Token ) -> Diagnostic { let mut found_str = found_closer . to_string ( ) ; if ! matches ! ( found_closer ty TT Eof ) { found_str = format ! ( " " found_str ) ; } MismatchedClosingDelimiter ! ( expected expected_closer at found_closer span due to opener at opener span found found_str ) }
Returns a diagnostic for an unclosed delimiter.
Returns a diagnostic for an unclosed delimiter .
opener
Token
expected_closer
TT
found_closer
Token
opener
Token
expected_closer
TT
found_closer
Token