juspay/hyperswitch · error · syn::Error
expected `target = Type`
Error message
expected `target = Type`
What it means
Error "expected `target = Type`" thrown in juspay/hyperswitch.
Source
Thrown at crates/router_derive/src/macros/apply_changeset.rs:13
use quote::quote;
use syn::{parse::Parse, ItemStruct, Path, Token};
/// Parsed contents of `#[apply_changeset(target = TargetType)]`
struct ApplyChangesetAttr {
target: Path,
}
impl Parse for ApplyChangesetAttr {
fn parse(input: syn::parse::ParseStream<'_>) -> syn::Result<Self> {
let ident: syn::Ident = input.parse()?;
if ident != "target" {
return Err(syn::Error::new(ident.span(), "expected `target = Type`"));
}
input.parse::<Token![=]>()?;
let target: Path = input.parse()?;
Ok(Self { target })
}
}
pub(crate) fn apply_changeset_attribute(
args: proc_macro2::TokenStream,
input: proc_macro2::TokenStream,
) -> syn::Result<proc_macro2::TokenStream> {
let apply_attr: ApplyChangesetAttr = syn::parse2(args)?;
let target_type = apply_attr.target;
// Parse the annotated struct
let mut item: ItemStruct = syn::parse2(input)?;
let struct_name = &item.ident;
let generics = &item.generics;View on GitHub (pinned to 705a321950)
Solutions
- Use the attribute in the form target = Type (e.g. #[changeset_options(target = PaymentAttemptUpdate)])
When it happens
Trigger: Thrown at crates/router_derive/src/macros/apply_changeset.rs:13 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juspay/hyperswitch@705a321950 (2026-08-19).
Data as JSON: /api/errors/c57bd8a6b880f055.
Report an issue: GitHub.