{"record":{"id":"bbecb8e7834d324a","repo":"zed-industries/zed","slug":"failed-to-parse-integer","errorCode":null,"errorMessage":"failed to parse integer","messagePattern":"failed to parse integer","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/gpui_macros/src/test.rs","lineNumber":316,"sourceCode":"                    #on_failure_fn_name,\n                );\n            }\n        }\n    };\n    outer_fn.attrs.extend(inner_fn_attributes);\n\n    Ok(TokenStream::from(quote!(#outer_fn)))\n}\n\nfn parse_usize_from_expr(expr: &Expr) -> Result<usize, syn::Error> {\n    let Expr::Lit(ExprLit {\n        lit: Lit::Int(int), ..\n    }) = expr\n    else {\n        return Err(syn::Error::new(expr.span(), \"expected an integer\"));\n    };\n    int.base10_parse()\n        .map_err(|_| syn::Error::new(int.span(), \"failed to parse integer\"))\n}\n\nfn parse_u64_array(meta_list: &MetaList) -> Result<Vec<u64>, syn::Error> {\n    let mut result = Vec::new();\n    let tokens = &meta_list.tokens;\n    let parser = |input: ParseStream| {\n        let exprs = Punctuated::<Expr, Token![,]>::parse_terminated(input)?;\n        for expr in exprs {\n            if let Expr::Lit(ExprLit {\n                lit: Lit::Int(int), ..\n            }) = expr\n            {\n                let value: usize = int.base10_parse()?;\n                result.push(value as u64);\n            } else {\n                return Err(syn::Error::new(expr.span(), \"expected an integer\"));\n            }\n        }","sourceCodeStart":298,"sourceCodeEnd":334,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/gpui_macros/src/test.rs#L298-L334","documentation":"Returned by parse_usize_from_expr when the integer literal in a #[gpui::test] argument (e.g. retries = ...) is syntactically an integer but base10_parse fails — typically because it overflows usize or uses an unsupported base. The literal itself is the fault.","triggerScenarios":"Thrown at crates/gpui_macros/src/test.rs:316 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a value within usize range","Write the literal in base 10 without suffixes or bases the parser rejects"],"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"}