{"record":{"id":"f1d920ec68cbffb7","repo":"bevyengine/bevy","slug":"type-name-must-be-a-string-literal","errorCode":null,"errorMessage":"`#[type_name = \"...\"]` must be a string literal","messagePattern":"`#\\[type_name = \"\\.\\.\\.\"\\]` must be a string literal","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/bevy_reflect/derive/src/derive_data.rs","lineNumber":234,"sourceCode":"                    else {\n                        return Err(syn::Error::new(\n                            pair.span(),\n                            format_args!(\"`#[{TYPE_PATH_ATTRIBUTE_NAME} = \\\"...\\\"]` must be a string literal\"),\n                        ));\n                    };\n\n                    custom_path = Some(syn::parse::Parser::parse_str(\n                        parse_path_no_leading_colon,\n                        &lit.value(),\n                    )?);\n                }\n                Meta::NameValue(pair) if pair.path.is_ident(TYPE_NAME_ATTRIBUTE_NAME) => {\n                    let syn::Expr::Lit(syn::ExprLit {\n                        lit: syn::Lit::Str(lit),\n                        ..\n                    }) = &pair.value\n                    else {\n                        return Err(syn::Error::new(\n                            pair.span(),\n                            format_args!(\"`#[{TYPE_NAME_ATTRIBUTE_NAME} = \\\"...\\\"]` must be a string literal\"),\n                        ));\n                    };\n\n                    custom_type_name = Some(parse_str(&lit.value())?);\n                }\n                #[cfg(feature = \"reflect_documentation\")]\n                Meta::NameValue(pair) if pair.path.is_ident(\"doc\") => {\n                    if let syn::Expr::Lit(syn::ExprLit {\n                        lit: syn::Lit::Str(lit),\n                        ..\n                    }) = &pair.value\n                    {\n                        doc.push(lit.value());\n                    }\n                }\n                _ => continue,","sourceCodeStart":216,"sourceCodeEnd":252,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_reflect/derive/src/derive_data.rs#L216-L252","documentation":"Compile-time error from the Reflect derive macro (from_input): the #[type_name = \"...\"] attribute was given something other than a string literal. Rewrite the attribute value as an ordinary string literal.","triggerScenarios":"Thrown at crates/bevy_reflect/derive/src/derive_data.rs:234 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Change the #[type_name] attribute value to a string literal"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"396ca727080776bd313bb892423b7d94e03b81b4","analyzedAt":"2026-08-20T16:12:39.808Z","contentChangedAt":"2026-08-20T16:12:39.808Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}