// Prefer runtime checks if possible, as otherwise tests can't be run at all if something is // changed. use std::borrow::Borrow; use std::error::Error as StdError; use std::fmt::{Debug, Display}; use std::hash::Hash; use std::iter::Sum; use std::marker::PhantomData; use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; use std::panic::{RefUnwindSafe, UnwindSafe}; use std::time::{Duration as StdDuration, Instant as StdInstant, SystemTime}; use quickcheck::Arbitrary; use rand08::distributions::{Distribution as DistributionRand08, Standard as StandardRand08}; use rand09::distr::{Distribution as DistributionRand09, StandardUniform as StandardUniformRand09}; use rstest::rstest; use serde::{Deserialize, Serialize}; #[expect(deprecated)] use time::Instant; use time::format_description::well_known::iso8601; use time::format_description::{BorrowedFormatItem, Component, modifier, well_known}; use time::formatting::Formattable; use time::parsing::{Parsable, Parsed}; use time::{ Date, Error, Month, OffsetDateTime, PlainDateTime, SignedDuration, Time, UtcDateTime, UtcOffset, Weekday, error, ext, }; #[rstest] #[case(PhantomData::, 4)] #[case(PhantomData::, 8)] #[case(PhantomData::, 4)] #[case(PhantomData::, 4)] #[case(PhantomData::, 4)] #[case(PhantomData::