Now returns a nicely formatted error instead of panicking, although it could probably be a bit more helpful if more context was included in UnsupportedError
YZ6PVVQCLWYRFM33CH6BDB7U6BSP5PM5LH3FMKRXV3BH5KCRFM4AC JWZT34UC7OTMMUZKGYFF6NDGIFNOA6TYXAZ6K66ELM3ZW7ZM7I5AC VQBJBFEXRTJDBH27SVWRBCBFC7OOFOZ3DSMX7PE5BIZQLGHPVDYAC CESJ4CTO26X4GBZBPXRXLOJT3JQJOGFN5EJSNAAZELNQRZF7QSYAC OWXLFLRMQDTXWN5QQQLJNAATWFWXIN2S4UQA2LC2A6AWX4UWM6LQC 5FIVUZYFLOZ2CCH4GCOQQZFL3GDEB23VJ7J6YUXQDZQEAQDB76DQC QFPQZR4K4UZ7R2GQZJG4NYBGVQJVL2ANIKGGTOHAMIRIBQHPSQGAC XGNME3WRU3MJDTFHUFJYARLVXWBZIH5ODBOIIFTXHNCBTZQH2R7QC F5LG7WENUUDRSCTDMA4M6BAC5RWTGQO45C4ZEBZDX6FHCTTHBVGQC NO3PDO7PY7J3WPADNCS5VD6HKFY63E23I3SDR4DHXNVQJTG27RAAC pub enum UnsupportedReason {#[error("Unions are not supported")]Union,#[error("Unnamed fields are not supported")]UnnamedFields,}#[derive(Debug, Error)]#[error("Unsupported Rust code")]pub struct UnsupportedError {span: syn::Ident,reason: UnsupportedReason,}#[derive(Debug, Error)]
help = "{}", matched_locales},
help = "{}", matched_locales;},}}fn unsupported(error: UnsupportedError) {match error.reason {UnsupportedReason::Union => emit_error! { error.span, "unions are not supported";help = "Use a `struct` or `enum` instead"},UnsupportedReason::UnnamedFields => {emit_error! { error.span, "only named fields are supported";help = "Each field needs a name so it can be referenced by Fluent code";note = "There must be at least one named field (unit structs are unsupported!)"}}