{"record":{"id":"abea66d6ebe61072","repo":"risingwavelabs/risingwave","slug":"missing-prefix-string-argument","errorCode":null,"errorMessage":"Missing prefix string argument","messagePattern":"Missing prefix string argument","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/common/proc_macro/src/serde_prefix_all.rs","lineNumber":112,"sourceCode":"                            ));\n                        }\n                    },\n                    _ => return Err(Error::new(lit.span(), \"mode must be a string literal\")),\n                };\n\n                mode = Some(parsed_mode);\n            }\n            NestedMeta::Meta(meta) => {\n                return Err(Error::new(\n                    meta.span(),\n                    \"Unsupported attribute argument, expected a string literal prefix or mode\",\n                ));\n            }\n        }\n    }\n\n    let (prefix, span) =\n        prefix.ok_or_else(|| Error::new(Span::call_site(), \"Missing prefix string argument\"))?;\n    Ok(ParsedArgs {\n        prefix,\n        prefix_span: span,\n        mode: mode.unwrap_or(Mode::Rename),\n    })\n}\n\npub(crate) fn try_prefix_all(\n    args: AttributeArgs,\n    mut input: DeriveInput,\n) -> syn::Result<TokenStream> {\n    let ParsedArgs {\n        prefix,\n        prefix_span,\n        mode,\n    } = parse_args(args)?;\n\n    match &mut input.data {","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/common/proc_macro/src/serde_prefix_all.rs#L94-L130","documentation":"Compile-time error raised at the end of parse_args (invoked via try_prefix_all) when the serde prefix attribute was parsed but no prefix string argument was found among its arguments — i.e. the attribute was invoked without the required string literal that gets prepended to field names. It is a mandatory-argument guard; the derive cannot proceed without a prefix.","triggerScenarios":"Thrown at src/common/proc_macro/src/serde_prefix_all.rs:112 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the required string literal prefix to the attribute, e.g. `#[prefix_all(\"prefix_\")]`","If mode was passed (e.g. `mode = \"alias\"`), still supply the prefix string argument alongside it"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}