swc-project/swc · error
Expected '+', '-', '*' or '/' delim tokens
Error message
Expected '+', '-', '*' or '/' delim tokens
What it means
Fired by the CalcOperator parser: the current token is a Delim but its character is not one of '+', '-', '*' or '/', the only operators allowed inside calc() sums. The parser cannot build a CalcOperator node.
Source
Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:3240
bump!(self);
Ok(CalcOperator {
span: span!(self, span.lo),
value: CalcOperatorType::Mul,
})
}
tok!("/") => {
bump!(self);
Ok(CalcOperator {
span: span!(self, span.lo),
value: CalcOperatorType::Div,
})
}
_ => {
let span = self.input.cur_span();
return Err(Error::new(
span,
ErrorKind::Expected("'+', '-', '*' or '/' delim tokens"),
));
}
}
}
}
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, .. } => {View on GitHub (pinned to 5176682b65)
Solutions
- Use only '+', '-', '*' or '/' inside calc expressions
- Remove the invalid operator character
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:3240 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/56cadfcf7ab5e6ee.
Report an issue: GitHub.