{"record":{"id":"2f53b0e27e16c7f5","repo":"juspay/hyperswitch","slug":"only-path-fields-are-supported","errorCode":null,"errorMessage":"Only path fields are supported","messagePattern":"Only path fields are supported","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/router_derive/src/macros/to_encryptable.rs","lineNumber":50,"sourceCode":"        .iter()\n        .flat_map(|s| s.parse_args::<FieldMeta>())\n        .find(|s| s._meta_type.eq(\"ty\"))\n}\n\nfn get_inner_type(path: &syn::TypePath) -> syn::Result<syn::TypePath> {\n    path.path\n        .segments\n        .last()\n        .and_then(|segment| match &segment.arguments {\n            syn::PathArguments::AngleBracketed(args) => args.args.first(),\n            _ => None,\n        })\n        .and_then(|arg| match arg {\n            syn::GenericArgument::Type(SynType::Path(path)) => Some(path.clone()),\n            _ => None,\n        })\n        .ok_or_else(|| {\n            syn::Error::new(\n                proc_macro2::Span::call_site(),\n                \"Only path fields are supported\",\n            )\n        })\n}\n\n/// This function returns the inner most type recursively\n/// For example:\n///\n/// In the case of `Encryptable<Secret<String>>> this returns String\nfn get_inner_most_type(ty: SynType) -> syn::Result<Ident> {\n    fn get_inner_type_recursive(path: syn::TypePath) -> syn::Result<syn::TypePath> {\n        match get_inner_type(&path) {\n            Ok(inner_path) => get_inner_type_recursive(inner_path),\n            Err(_) => Ok(path),\n        }\n    }\n","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/juspay/hyperswitch/blob/705a3219504c3cf9034e71d956455f8834ea4e64/crates/router_derive/src/macros/to_encryptable.rs#L32-L68","documentation":"Error \"Only path fields are supported\" thrown in juspay/hyperswitch.","triggerScenarios":"Thrown at crates/router_derive/src/macros/to_encryptable.rs:50 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use only plain path fields (e.g. a::b::Type) in the to_encryptable macro; remove generics or other type syntax"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"705a3219504c3cf9034e71d956455f8834ea4e64","analyzedAt":"2026-08-19T10:36:43.745Z","contentChangedAt":"2026-08-19T10:36:43.745Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}