{"record":{"id":"02f7e27d02297d60","repo":"swc-project/swc","slug":"expected-num","errorCode":null,"errorMessage":"Expected Num","messagePattern":"Expected Num","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"crates/swc_css_parser/src/parser/selectors/mod.rs","lineNumber":1369,"sourceCode":"                        b_raw = Some(self.input.atom(b_raw_str));\n                    }\n                    // '+'? n ['+' | '-'] <signless-integer>\n                    // -n ['+' | '-'] <signless-integer>\n                    // <n-dimension> ['+' | '-'] <signless-integer>\n                    tok!(\"-\") | tok!(\"+\") => {\n                        let (b_sign, b_sign_raw) = match bump!(self) {\n                            Token::Delim { value, .. } => (if value == '-' { -1 } else { 1 }, value),\n                            _ => {\n                                unreachable!();\n                            }\n                        };\n\n                        self.input.skip_ws();\n\n                        let number = match bump!(self) {\n                            Token::Number { value, raw, .. } => (value, raw),\n                            _ => {\n                                return Err(Error::new(span, ErrorKind::Expected(\"Num\")));\n                            }\n                        };\n\n                        b = Some(b_sign * number.0 as i32);\n\n                        let mut b_raw_str = String::new();\n\n                        b_raw_str.push(' ');\n                        b_raw_str.push(b_sign_raw);\n                        b_raw_str.push(' ');\n                        b_raw_str.push_str(&number.1);\n                        b_raw = Some(self.input.atom(b_raw_str));\n                    }\n                    // '+'? <ndashdigit-ident>\n                    // <dashndashdigit-ident>\n                    // <ndashdigit-dimension>\n                    _ if dash_after_n == Some('-') => {\n                        let b_from_ident = &n_value[2..];","sourceCodeStart":1351,"sourceCodeEnd":1387,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/swc_css_parser/src/parser/selectors/mod.rs#L1351-L1387","documentation":"Fired while parsing the An+B microsyntax: after the `n` part the parser handled a '+' or '-' delim that must be followed by a signless integer forming the `b` component, but the next token was not a number. Input at fault is an expression like `:nth-child(2n +)` or `:nth-child(2n - x)` with no integer after the sign.","triggerScenarios":"Thrown at crates/swc_css_parser/src/parser/selectors/mod.rs:1369 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a signless integer after the +/- sign","Surface the parse error","Fix the An+B syntax"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5176682b65416c6b5de6b47379ae1588ea3ecb3f","analyzedAt":"2026-08-17T16:16:52.067Z","contentChangedAt":"2026-08-17T16:16:52.067Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}