{"record":{"id":"7fe9e4d385fdc3ff","repo":"DioxusLabs/dioxus","slug":"keyword-argument-repeated-protocol","errorCode":null,"errorMessage":"keyword argument repeated: `protocol`","messagePattern":"keyword argument repeated: `protocol`","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/fullstack-macro/src/lib.rs","lineNumber":1666,"sourceCode":"                    } else if key == \"impl_from\" {\n                        if impl_from.is_some() {\n                            return Err(syn::Error::new(\n                                key.span(),\n                                \"keyword argument repeated: `impl_from`\",\n                            ));\n                        }\n                        impl_from = Some(stream.parse()?);\n                    } else if key == \"impl_deref\" {\n                        if impl_deref.is_some() {\n                            return Err(syn::Error::new(\n                                key.span(),\n                                \"keyword argument repeated: `impl_deref`\",\n                            ));\n                        }\n                        impl_deref = Some(stream.parse()?);\n                    } else if key == \"protocol\" {\n                        if protocol.is_some() {\n                            return Err(syn::Error::new(\n                                key.span(),\n                                \"keyword argument repeated: `protocol`\",\n                            ));\n                        }\n                        protocol = Some(stream.parse()?);\n                    } else {\n                        return Err(lookahead.error());\n                    }\n                } else {\n                    let value = key_or_value;\n                    if use_key_and_value {\n                        return Err(syn::Error::new(\n                            value.span(),\n                            \"positional argument follows keyword argument\",\n                        ));\n                    }\n                    if arg_pos == 1 {\n                        struct_name = Some(value)","sourceCodeStart":1648,"sourceCodeEnd":1684,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/fullstack-macro/src/lib.rs#L1648-L1684","documentation":"Parse guard in the server-macro attribute parser: the keyword argument `protocol` was passed more than once in the macro attribute's argument stream, and the parser rejects assigning any keyword twice. The input at fault is the duplicated `protocol = ...` argument, with the error spanned at the repeated key.","triggerScenarios":"Thrown at packages/fullstack-macro/src/lib.rs:1666 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the duplicate `protocol` keyword argument; each keyword may only be specified once."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}