{"record":{"id":"8354a299074ab47e","repo":"clockworklabs/SpacetimeDB","slug":"can-t-parse-as-duration-e","errorCode":null,"errorMessage":"can't parse as duration: {e}","messagePattern":"can't parse as duration: (.+?)","errorType":"validation","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/bindings-macro/src/lib.rs","lineNumber":247,"sourceCode":"    quote!({\n        const DUR: ::core::time::Duration = ::core::time::Duration::new(#secs, #nanos);\n        DUR\n    })\n    .into()\n}\n\nfn parse_duration(input: ParseStream) -> syn::Result<Duration> {\n    let lookahead = input.lookahead1();\n    let (s, span) = if lookahead.peek(syn::LitStr) {\n        let s = input.parse::<syn::LitStr>()?;\n        (s.value(), s.span())\n    } else if lookahead.peek(syn::LitInt) {\n        let i = input.parse::<syn::LitInt>()?;\n        (i.to_string(), i.span())\n    } else {\n        return Err(lookahead.error());\n    };\n    humantime::parse_duration(&s).map_err(|e| syn::Error::new(span, format_args!(\"can't parse as duration: {e}\")))\n}\n\n/// A helper for the common bits of the derive macros.\nfn sats_derive(\n    input: StdTokenStream,\n    assume_in_module: bool,\n    logic: impl FnOnce(&sats::SatsType) -> TokenStream,\n) -> StdTokenStream {\n    let input = syn::parse_macro_input!(input as syn::DeriveInput);\n    let crate_fallback = if assume_in_module {\n        quote!(spacetimedb::spacetimedb_lib)\n    } else {\n        quote!(spacetimedb_lib)\n    };\n    sats::sats_type_from_derive(&input, crate_fallback)\n        .map(|ty| logic(&ty))\n        .unwrap_or_else(syn::Error::into_compile_error)\n        .into()","sourceCodeStart":229,"sourceCodeEnd":265,"githubUrl":"https://github.com/clockworklabs/SpacetimeDB/blob/524b4487d949b61a07d4f39c862d1290259dfd20/crates/bindings-macro/src/lib.rs#L229-L265","documentation":"Error \"can't parse as duration: {e}\" thrown in clockworklabs/SpacetimeDB.","triggerScenarios":"Thrown at crates/bindings-macro/src/lib.rs:247 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"524b4487d949b61a07d4f39c862d1290259dfd20","analyzedAt":"2026-08-16T23:58:54.611Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}