{"record":{"id":"bca23e71ef3c2e02","repo":"DioxusLabs/dioxus","slug":"expected-identifier-pattern","errorCode":null,"errorMessage":"Expected identifier pattern","messagePattern":"Expected identifier pattern","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"packages/manganis/manganis-macro/src/ffi.rs","lineNumber":207,"sourceCode":"    pub name: Ident,\n    pub receiver: Option<Ident>, // The type name if first arg is `this: &TypeName`\n    pub args: Vec<ForeignArg>,\n    pub return_type: ForeignType,\n}\n\nimpl ForeignFunctionDecl {\n    fn from_foreign_fn(func: &ForeignItemFn) -> syn::Result<Self> {\n        let name = func.sig.ident.clone();\n        let mut receiver = None;\n        let mut args = Vec::new();\n\n        for (i, input) in func.sig.inputs.iter().enumerate() {\n            match input {\n                syn::FnArg::Typed(pat_type) => {\n                    let arg_name = match &*pat_type.pat {\n                        Pat::Ident(pat_ident) => pat_ident.ident.clone(),\n                        _ => {\n                            return Err(syn::Error::new(\n                                pat_type.pat.span(),\n                                \"Expected identifier pattern\",\n                            ));\n                        }\n                    };\n\n                    let arg_ty = ForeignType::from_type(&pat_type.ty)?;\n\n                    // Check if first arg is `this: &SomeType`\n                    if i == 0\n                        && arg_name == \"this\"\n                        && let ForeignType::OpaqueRef(type_name) = &arg_ty\n                    {\n                        receiver = Some(type_name.clone());\n                        continue; // Don't add to args\n                    }\n\n                    args.push(ForeignArg {","sourceCodeStart":189,"sourceCodeEnd":225,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/393d190a801ccb441d41923e232289b4f8a5c669/packages/manganis/manganis-macro/src/ffi.rs#L189-L225","documentation":"Error \"Expected identifier pattern\" thrown in DioxusLabs/dioxus.","triggerScenarios":"Thrown at packages/manganis/manganis-macro/src/ffi.rs:207 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"393d190a801ccb441d41923e232289b4f8a5c669","analyzedAt":"2026-08-16T11:27:45.815Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}