{"record":{"id":"c1a0f25e89a08b46","repo":"DioxusLabs/dioxus","slug":"invalid-option-type","errorCode":null,"errorMessage":"Invalid Option type","messagePattern":"Invalid Option type","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"packages/manganis/manganis-macro/src/ffi.rs","lineNumber":81,"sourceCode":"                        \"i8\" => return Ok(ForeignType::I8),\n                        \"i16\" => return Ok(ForeignType::I16),\n                        \"i32\" => return Ok(ForeignType::I32),\n                        \"i64\" => return Ok(ForeignType::I64),\n                        \"u8\" => return Ok(ForeignType::U8),\n                        \"u16\" => return Ok(ForeignType::U16),\n                        \"u32\" => return Ok(ForeignType::U32),\n                        \"u64\" => return Ok(ForeignType::U64),\n                        \"f32\" => return Ok(ForeignType::F32),\n                        \"f64\" => return Ok(ForeignType::F64),\n                        \"String\" => return Ok(ForeignType::String),\n                        \"Option\" => {\n                            if let syn::PathArguments::AngleBracketed(args) = &segment.arguments\n                                && let Some(syn::GenericArgument::Type(inner)) = args.args.first()\n                            {\n                                let inner_type = Self::from_type(inner)?;\n                                return Ok(ForeignType::Option(Box::new(inner_type)));\n                            }\n                            return Err(syn::Error::new(ty.span(), \"Invalid Option type\"));\n                        }\n                        \"Result\" => {\n                            if let syn::PathArguments::AngleBracketed(args) = &segment.arguments {\n                                let mut iter = args.args.iter();\n                                if let (\n                                    Some(syn::GenericArgument::Type(ok_ty)),\n                                    Some(syn::GenericArgument::Type(err_ty)),\n                                ) = (iter.next(), iter.next())\n                                {\n                                    let ok_type = Self::from_type(ok_ty)?;\n                                    let err_type = Self::from_type(err_ty)?;\n                                    return Ok(ForeignType::Result(\n                                        Box::new(ok_type),\n                                        Box::new(err_type),\n                                    ));\n                                }\n                            }\n                            return Err(syn::Error::new(ty.span(), \"Invalid Result type\"));","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/393d190a801ccb441d41923e232289b4f8a5c669/packages/manganis/manganis-macro/src/ffi.rs#L63-L99","documentation":"Error \"Invalid Option type\" thrown in DioxusLabs/dioxus.","triggerScenarios":"Thrown at packages/manganis/manganis-macro/src/ffi.rs:81 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"}