fn parse_universe(
        &mut self,
        start_token: Token<'file>,
    ) -> Result<Term<'file>, Diagnostic<FileSpan>> {
        if self.try_match(TokenKind::Caret).is_some() {
            let level_token = self.expect_match(TokenKind::IntLiteral)?;
            let span = FileSpan::merge(start_token.span(), level_token.span());

            Ok(Term::Universe(span, Some(level_token.src)))
        } else {
            Ok(Term::Universe(start_token.span(), None))
        }
    }
/// Parse the trailing part of a universe.
///
/// ```text
/// universe ::= ("^" INT_LITERAL)?
/// ```
Parse the trailing part of a universe.
Parse the trailing part of a universe .
fn parse_universe(
        &mut self,
        start_token: Token<'file>,
    ) -> Result<Term<'file>, Diagnostic<FileSpan>> {
        if self.try_match(TokenKind::Caret).is_some() {
            let level_token = self.expect_match(TokenKind::IntLiteral)?;
            let span = FileSpan::merge(start_token.span(), level_token.span());
            Ok(Term::Universe(span, Some(level_token.src)))
        } else {
            Ok(Term::Universe(start_token.span(), None))
        }
    }
fn parse_universe ( & mut self , start_token : Token < ' file > , ) -> Result < Term < ' file > , Diagnostic < FileSpan > > { if self . try_match ( TokenKind :: Caret ) . is_some ( ) { let level_token = self . expect_match ( TokenKind :: IntLiteral ) ? ; let span = FileSpan :: merge ( start_token . span ( ) , level_token . span ( ) ) ; Ok ( Term :: Universe ( span , Some ( level_token . src ) ) ) } else { Ok ( Term :: Universe ( start_token . span ( ) , None ) ) } }
Parse the trailing part of a universe.
Parse the trailing part of a universe .
&mut self
start_token
Token<'file>
&mut self
start_token
Token<'file>