swc-project/swc · error

Expected 'e', 'pi', 'infinity', '-infinity' or 'NaN', ident

Error message

Expected 'e', 'pi', 'infinity', '-infinity' or 'NaN', ident tokens

What it means

Fired by the CalcValue parser: an Ident token was found, but only the math constants 'e', 'pi', 'infinity', '-infinity' and 'NaN' (case-insensitive) are valid calc values; any other identifier is rejected.

Source

Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:3264

    }
}

impl<I> Parse<CalcValue> for Parser<I>
where
    I: ParserInput,
{
    fn parse(&mut self) -> PResult<CalcValue> {
        match cur!(self) {
            tok!("number") => Ok(CalcValue::Number(self.parse()?)),
            tok!("dimension") => Ok(CalcValue::Dimension(self.parse()?)),
            tok!("percentage") => Ok(CalcValue::Percentage(self.parse()?)),
            Token::Ident { value, .. } => {
                match &*value.to_ascii_lowercase() {
                    "e" | "pi" | "infinity" | "-infinity" | "nan" => {}
                    _ => {
                        let span = self.input.cur_span();

                        return Err(Error::new(
                            span,
                            ErrorKind::Expected(
                                "'e', 'pi', 'infinity', '-infinity' or 'NaN', ident tokens",
                            ),
                        ));
                    }
                }

                Ok(CalcValue::Constant(self.parse()?))
            }
            tok!("(") => {
                let span = self.input.cur_span();

                expect!(self, "(");

                self.input.skip_ws();

                let mut calc_sum_in_parens: CalcSum = self.parse()?;

View on GitHub (pinned to 5176682b65)

Solutions

  1. Use a supported constant: e, pi, infinity, -infinity or NaN
  2. Replace other identifiers with numbers, dimensions, percentages, or calc functions
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:3264 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of swc-project/swc@5176682b65 (2026-08-17). Data as JSON: /api/errors/29a27eaed556f38b. Report an issue: GitHub.