Expand description
This crate provides macros for defining static
data structures for Jiff.
The macros in this crate are re-exported in the jiff::tz
sub-module.
Users should not depend on this crate directly or import from it. Instead,
enable the static
or static-tz
features of Jiff and use the re-exports in
jiff::tz
.
At present, the macros in this crate are limited to creating TimeZone
in a const
context. This works by reading TZif data (e.g., from
/usr/share/zoneinfo/America/New_York
or from jiff-tzdb
) at compile
time and generating Rust source code that builds a TimeZone
.
§Documentation
The macros defined in this crate are documented on their corresponding re-exports in Jiff:
get
is documented atjiff::tz::get
.include
is documented atjiff::tz::include
.
§Compatibility
The APIs required to build a TimeZone
in a const
context are exposed by
Jiff but not part of Jiff’s public API for the purposes of semver (and do not
appear in rustdoc
). The only guarantee provided by jiff
and jiff-static
is that there is exactly one version of jiff
that jiff-static
works with.
Conventionally, this is indicated by the exact same version string. That is,
jiff-static 0.2.2
is only guaranteed to work with jiff 0.2.2
.
This compatibility constraint is managed by Jiff, so that you should never
need to worry about it. In particular, users should never directly depend on
this crate. Everything should be managed through the jiff
crate.