#![no_std]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![deny(unsafe_code)]
#![warn(future_incompatible)]
#![warn(rust_2018_idioms)]
#![warn(refining_impl_trait)]
#![warn(clippy::cargo)]
#![warn(clippy::nursery)]
#![warn(clippy::must_use_candidate)]
#![warn(clippy::semicolon_if_nothing_returned)]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
#[macro_use]
mod error;
#[macro_use]
mod util;
pub(crate) mod calendar;
#[macro_use]
mod date;
mod moment;
mod month;
mod plain_date_time;
mod plain_time;
#[macro_use]
mod year;
#[macro_use]
mod offset;
mod as_date;
mod as_moment;
mod as_time;
mod date_time;
mod interval;
mod time_zone;
mod year_month;
mod fmt;
#[cfg(feature = "astronomy")]
mod astronomy;
pub(crate) use as_date::AsDate;
pub(crate) use as_moment::AsMoment;
pub(crate) use as_time::AsTime;
pub(crate) use calendar::Calendar;
pub(crate) use date::Date;
pub(crate) use date_time::DateTime;
pub(crate) use error::{Error, Result};
pub(crate) use interval::TimeInterval;
pub use moment::Moment;
pub(crate) use month::Month;
pub(crate) use offset::Offset;
pub(crate) use plain_date_time::PlainDateTime;
pub(crate) use plain_time::PlainTime;
pub(crate) use time_zone::TimeZone;
pub(crate) use year::Year;
pub(crate) use year_month::YearMonth;