{"record":{"id":"5b6d27c7f42d7b65","repo":"zed-industries/zed","slug":"gpui-bench-input-name-requires-inputs","errorCode":null,"errorMessage":"#[gpui::bench] `input_name` requires `inputs`","messagePattern":"#\\[gpui::bench\\] `input_name` requires `inputs`","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/gpui_macros/src/bench.rs","lineNumber":114,"sourceCode":"                                    gpui_platform::current_headless_renderer()\n                                })),\n                                gpui_platform::current_platform(true).text_system(),\n                            ),\n                            Some(stringify!(#outer_fn_name)),\n                            bencher,\n                            report.clone(),\n                        );\n                        #inner_fn_name(input, &mut cx);\n                        cx.teardown();\n                    }\n                });\n            }\n            group.finish();\n            report.print(Some(stringify!(#outer_fn_name)));\n        }\n    } else {\n        if let Some(input_name) = input_name {\n            return error_to_stream(syn::Error::new(\n                input_name.span(),\n                \"#[gpui::bench] `input_name` requires `inputs`\",\n            ));\n        }\n        if let Some(group_name) = group_name {\n            return error_to_stream(syn::Error::new(\n                group_name.span(),\n                \"#[gpui::bench] `group` requires `inputs`\",\n            ));\n        }\n        if sample_size.is_some() {\n            return error_to_stream(syn::Error::new(\n                proc_macro2::Span::call_site(),\n                \"#[gpui::bench] `sample_size` requires `inputs`\",\n            ));\n        }\n        quote! {\n            let report = #report_expr;","sourceCodeStart":96,"sourceCodeEnd":132,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/gpui_macros/src/bench.rs#L96-L132","documentation":"Compile-time configuration error in #[gpui::bench]: the input_name option only labels per-input benchmarks, so it is meaningless without the inputs list. The macro rejects the inconsistent attribute combination.","triggerScenarios":"Thrown at crates/gpui_macros/src/bench.rs:114 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the inputs = [...] argument to the attribute","Remove the input_name option"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}