pub struct FreedomDate { /* private fields */ }Expand description
A FreedomDate is the One True Date representation. All other models are Communist.
Implementations§
Source§impl FreedomDate
impl FreedomDate
Sourcepub fn liberate(datestring: &str) -> Freesult
pub fn liberate(datestring: &str) -> Freesult
To liberate a representation of a date is to make it Free. But the FreeDate tree must occasionally be watered with the blood of badly-formed datestrings, and here is where the true test of Datriots is found.
Examples found in repository?
examples/tour.rs (line 8)
3fn main() {
4 let good_communism = "2023-02-08T12:00:00-07:00";
5 let bad_communism = "Comrade, today is the eighth of Februrary, in the year 2023.";
6 let pre_history = "1775-07-04";
7
8 let liberated = FreedomDate::liberate(good_communism).unwrap();
9 let too_communist = FreedomDate::liberate(bad_communism).unwrap_err();
10 let pre_historic_nonsense = FreedomDate::liberate(pre_history).unwrap_err();
11
12 println!("'{good_communism}' is liberated: `{liberated}`\n");
13 println!("'{bad_communism}' is impossible to comprehend: `{too_communist}`\n");
14 println!("'{pre_history}' is not a real date: `{pre_historic_nonsense}`\n");
15
16 // `From<u64>` is implemented for FreedomDates
17 let birthday_of_freedom: FreedomDate = 0.into();
18 println!("The Birthday of Freedom is {birthday_of_freedom}\n");
19
20 // FreedomDates implement the FreedomTime trait
21 let one_day = Duration::days(1);
22 let day_after_freedom = birthday_of_freedom + one_day;
23 println!(
24 "The day after Freedom was born, {day_after_freedom}, {} seconds had passed.",
25 day_after_freedom.freedomstamp()
26 );
27}Trait Implementations§
Source§impl Add<Duration> for FreedomDate
impl Add<Duration> for FreedomDate
Source§impl Clone for FreedomDate
impl Clone for FreedomDate
Source§fn clone(&self) -> FreedomDate
fn clone(&self) -> FreedomDate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FreedomDate
impl Debug for FreedomDate
Source§impl Default for FreedomDate
By default, FreedomDates are July 4th, ’76.
impl Default for FreedomDate
By default, FreedomDates are July 4th, ’76.
Source§impl Display for FreedomDate
impl Display for FreedomDate
Source§impl FreedomTime for FreedomDate
impl FreedomTime for FreedomDate
Source§fn freedomstamp(&self) -> u64
fn freedomstamp(&self) -> u64
Number of whole seconds since the Birthday of Freedom.
Source§impl From<u64> for FreedomDate
A FreedomDate that is value seconds after the Birthday of Freedom.
impl From<u64> for FreedomDate
A FreedomDate that is value seconds after the Birthday of Freedom.
Source§impl Ord for FreedomDate
impl Ord for FreedomDate
Source§fn cmp(&self, other: &FreedomDate) -> Ordering
fn cmp(&self, other: &FreedomDate) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for FreedomDate
impl PartialEq for FreedomDate
Source§impl PartialOrd for FreedomDate
impl PartialOrd for FreedomDate
Source§impl Sub<Duration> for FreedomDate
impl Sub<Duration> for FreedomDate
Source§impl Sub for FreedomDate
impl Sub for FreedomDate
impl Copy for FreedomDate
impl Eq for FreedomDate
impl StructuralPartialEq for FreedomDate
Auto Trait Implementations§
impl Freeze for FreedomDate
impl RefUnwindSafe for FreedomDate
impl Send for FreedomDate
impl Sync for FreedomDate
impl Unpin for FreedomDate
impl UnwindSafe for FreedomDate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more