Skip to content

Commit

Permalink
Drop nonzero! macro everything is const anyway
Browse files Browse the repository at this point in the history
  • Loading branch information
matze committed Jan 15, 2025
1 parent ec79928 commit daa1786
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions src/pages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,24 +69,20 @@ impl std::fmt::Display for Expiration {
}
}

// TODO: replace once Option::expect is const (https://github.com/rust-lang/rust/issues/67441) to construct EXPIRATION_OPTIONS
macro_rules! nonzero {
($value:literal) => {
match NonZero::new($value) {
Some(v) => v,
None => unreachable!(),
}
};
}

const EXPIRATION_OPTIONS: [(&str, Expiration); 8] = [
("never", Expiration::None),
("10 minutes", Expiration::Time(nonzero!(600))),
("1 hour", Expiration::Time(nonzero!(3600))),
("1 day", Expiration::Time(nonzero!(86400))),
("1 week", Expiration::Time(nonzero!(604_800))),
("1 month", Expiration::Time(nonzero!(2_592_000))),
("1 year", Expiration::Time(nonzero!(31_536_000))),
("10 minutes", Expiration::Time(NonZero::new(600).unwrap())),
("1 hour", Expiration::Time(NonZero::new(3600).unwrap())),
("1 day", Expiration::Time(NonZero::new(86400).unwrap())),
("1 week", Expiration::Time(NonZero::new(604_800).unwrap())),
(
"1 month",
Expiration::Time(NonZero::new(2_592_000).unwrap()),
),
(
"1 year",
Expiration::Time(NonZero::new(31_536_000).unwrap()),
),
("🔥 after reading", Expiration::Burn),
];

Expand Down

0 comments on commit daa1786

Please sign in to comment.