clockworklabs/SpacetimeDB · error · syn::Error
can't parse as duration: {e}
Error message
can't parse as duration: {e} What it means
Error "can't parse as duration: {e}" thrown in clockworklabs/SpacetimeDB.
Source
Thrown at crates/bindings-macro/src/lib.rs:247
quote!({
const DUR: ::core::time::Duration = ::core::time::Duration::new(#secs, #nanos);
DUR
})
.into()
}
fn parse_duration(input: ParseStream) -> syn::Result<Duration> {
let lookahead = input.lookahead1();
let (s, span) = if lookahead.peek(syn::LitStr) {
let s = input.parse::<syn::LitStr>()?;
(s.value(), s.span())
} else if lookahead.peek(syn::LitInt) {
let i = input.parse::<syn::LitInt>()?;
(i.to_string(), i.span())
} else {
return Err(lookahead.error());
};
humantime::parse_duration(&s).map_err(|e| syn::Error::new(span, format_args!("can't parse as duration: {e}")))
}
/// A helper for the common bits of the derive macros.
fn sats_derive(
input: StdTokenStream,
assume_in_module: bool,
logic: impl FnOnce(&sats::SatsType) -> TokenStream,
) -> StdTokenStream {
let input = syn::parse_macro_input!(input as syn::DeriveInput);
let crate_fallback = if assume_in_module {
quote!(spacetimedb::spacetimedb_lib)
} else {
quote!(spacetimedb_lib)
};
sats::sats_type_from_derive(&input, crate_fallback)
.map(|ty| logic(&ty))
.unwrap_or_else(syn::Error::into_compile_error)
.into()View on GitHub (pinned to 524b4487d9)
When it happens
Trigger: Thrown at crates/bindings-macro/src/lib.rs:247 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16).
Data as JSON: /api/errors/8354a299074ab47e.
Report an issue: GitHub.