aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ba/back/src/git_bug
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ba/back/src/git_bug')
-rw-r--r--pkgs/by-name/ba/back/src/git_bug/format/mod.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/by-name/ba/back/src/git_bug/format/mod.rs b/pkgs/by-name/ba/back/src/git_bug/format/mod.rs
index 4ebf6d4..b3b6bcc 100644
--- a/pkgs/by-name/ba/back/src/git_bug/format/mod.rs
+++ b/pkgs/by-name/ba/back/src/git_bug/format/mod.rs
@@ -61,6 +61,27 @@ impl Display for TimeStamp {
}
}
+/// An UNIX time stamp.
+///
+/// These should only ever be used for human-display, because timestamps are unreliably in a
+/// distributed system.
+///
+/// This one allows underlying access to it's value and is only obtainable via `unsafe` code.
+/// The reason behind this is, that you might need to access this to improve the display for humans
+/// (i.e., sorting by date).
+#[derive(Debug, Default, Clone, Copy, Ord, PartialOrd, Eq, PartialEq)]
+pub struct UnsafeTimeStamp {
+ value: u64,
+}
+impl TimeStamp {
+ /// # Safety
+ /// This is not really unsafe, but there is just no way your can trust a time stamp in a
+ /// distributed system. As such access to the raw value could lead to bugs.
+ pub unsafe fn to_unsafe(self) -> UnsafeTimeStamp {
+ UnsafeTimeStamp { value: self.value }
+ }
+}
+
#[derive(Debug, Default, Deserialize, Clone, PartialEq, Eq)]
/// A string that should be escaped when injected into html content.
pub struct HtmlString {