{"record":{"id":"eec4d6785e3b010b","repo":"swc-project/swc","slug":"expected-function-or-ident-tokens","errorCode":null,"errorMessage":"Expected function or ident tokens","messagePattern":"Expected function or ident tokens","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"crates/swc_css_parser/src/parser/selectors/mod.rs","lineNumber":1064,"sourceCode":"                name: Ident {\n                    span: Span::new(fn_span.lo, fn_span.hi - BytePos(1)),\n                    value: names.0,\n                    raw: Some(names.1),\n                },\n                children: Some(children),\n            })\n        } else if is!(self, Ident) {\n            let name: Ident = self.parse()?;\n\n            Ok(PseudoClassSelector {\n                span: span!(self, span.lo),\n                name,\n                children: None,\n            })\n        } else {\n            let span = self.input.cur_span();\n\n            Err(Error::new(\n                span,\n                ErrorKind::Expected(\"function or ident tokens\"),\n            ))\n        }\n    }\n}\n\nimpl<I> Parse<PseudoElementSelector> for Parser<I>\nwhere\n    I: ParserInput,\n{\n    fn parse(&mut self) -> PResult<PseudoElementSelector> {\n        let span = self.input.cur_span();\n\n        expect!(self, \":\");\n        expect!(self, \":\");\n\n        if is!(self, Function) {","sourceCodeStart":1046,"sourceCodeEnd":1082,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/swc_css_parser/src/parser/selectors/mod.rs#L1046-L1082","documentation":"Fired at the end of pseudo-class selector parsing: a pseudo-class must be either a functional form (a Function token, parsed into name + children) or a simple ident; the current token was neither, so no PseudoClassSelector could be built. Input at fault is a `:` followed by a non-ident, non-function token, e.g. `: 5` or `:.`.","triggerScenarios":"Thrown at crates/swc_css_parser/src/parser/selectors/mod.rs:1064 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Write pseudo-classes as :ident or :function(args)","Surface the diagnostic from the parse result","Fix the selector"],"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-14T05:17:10.506Z"}