{"record":{"id":"cd036177d76d13ab","repo":"influxdata/influxdb","slug":"unknown-argument-other-supported-arguments-are-id-shape","errorCode":null,"errorMessage":"unknown argument `{other}`; supported arguments are `id`, `shape`, `flags`","messagePattern":"unknown argument `(.+?)`; supported arguments are `id`, `shape`, `flags`","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"influxdb3_catalog_macros/src/lib.rs","lineNumber":119,"sourceCode":"                        ..\n                    }) = nv.value\n                    else {\n                        return Err(syn::Error::new(\n                            span,\n                            \"`shape` must be an integer literal, e.g. `shape = 0xbba17476`\",\n                        ));\n                    };\n                    if shape.replace(lit).is_some() {\n                        return Err(syn::Error::new(nv.path.span(), \"duplicate `shape`\"));\n                    }\n                }\n                \"flags\" => {\n                    if flags.replace(nv.value).is_some() {\n                        return Err(syn::Error::new(nv.path.span(), \"duplicate `flags`\"));\n                    }\n                }\n                other => {\n                    return Err(syn::Error::new(\n                        nv.path.span(),\n                        format!(\n                            \"unknown argument `{other}`; supported arguments are `id`, `shape`, `flags`\"\n                        ),\n                    ));\n                }\n            }\n        }\n\n        let id = id.ok_or_else(|| {\n            syn::Error::new(\n                proc_macro2::Span::call_site(),\n                \"missing `id = record_ids::SOME_CONST`\",\n            )\n        })?;\n        let shape = shape.ok_or_else(|| {\n            syn::Error::new(\n                proc_macro2::Span::call_site(),","sourceCodeStart":101,"sourceCodeEnd":137,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_catalog_macros/src/lib.rs#L101-L137","documentation":"A compile-time proc-macro error raised when the catalog record attribute contains an unrecognized `name = value` argument; the parser only supports `id`, `shape`, and `flags`, so any other key aborts macro expansion at that argument's span.","triggerScenarios":"Misspelling a supported key (e.g. `Id = ...`, `shpae = 0x…`) or inventing a new key like `version = 1` in the macro attribute.","commonSituations":"Typos in attribute keys; copying attribute syntax from a different macro family; upgrading the macro where keys changed names.","solutions":["Rename the argument to one of the supported keys: id, shape, flags","Fix typos in the key name (match exact lowercase identifiers)","Remove unsupported arguments entirely"],"exampleFix":"// before\n#[catalog(id = record_ids::X, shpae = 0xbba17476)]\n// after\n#[catalog(id = record_ids::X, shape = 0xbba17476)]","handlingStrategy":"validation","validationCode":"const ALLOWED: [&str; 3] = [\"id\", \"shape\", \"flags\"];\nfn key_allowed(k: &str) -> bool { ALLOWED.contains(&k) }","typeGuard":"fn is_valid_key(k: &str) -> bool {\n    matches!(k, \"id\" | \"shape\" | \"flags\")\n}","tryCatchPattern":null,"preventionTips":["Memorize/use the three supported keys: id, shape, flags","Double-check spelling of keys — typos surface as unknown arguments","Consult an existing annotated record for canonical syntax"],"tags":["rust","proc-macro","unknown-argument","attribute","typo"],"backgroundTag":"invalid-argument","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}