swc-project/swc · error · Error
Expected integer type
Error message
Expected integer type
What it means
Fired by the Integer parser: a Number token was found but its type_flag is Number (has a fractional part or exponent), not Integer. Only <integer>-typed number tokens (e.g. '3', '-2') can become an Integer node; '3.5' or '1e2' are rejected.
Source
Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:1779
{
fn parse(&mut self) -> PResult<Integer> {
let span = self.input.cur_span();
if !is!(self, Number) {
return Err(Error::new(span, ErrorKind::ExpectedNumber));
}
let value = bump!(self);
match value {
Token::Number {
value,
raw,
type_flag,
..
} => {
if type_flag == NumberType::Number {
return Err(Error::new(span, ErrorKind::Expected("integer type")));
}
Ok(Integer {
span,
value: value.round() as i64,
raw: Some(raw),
})
}
_ => {
unreachable!()
}
}
}
}
impl<I> Parse<Number> for Parser<I>
where
I: ParserInput,View on GitHub (pinned to 5176682b65)
Solutions
- Use a whole number without a decimal point or exponent
- Round or floor the value if an integer is required by the grammar
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:1779 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/16816032e831ea20.
Report an issue: GitHub.