diff options
Diffstat (limited to 'users/tazjin/german-string')
-rw-r--r-- | users/tazjin/german-string/src/lib.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/users/tazjin/german-string/src/lib.rs b/users/tazjin/german-string/src/lib.rs index eb6d02f29131..cf315c9d5dce 100644 --- a/users/tazjin/german-string/src/lib.rs +++ b/users/tazjin/german-string/src/lib.rs @@ -100,6 +100,22 @@ impl Drop for GermanString { } } +impl PartialEq for GermanString { + fn eq(&self, other: &GermanString) -> bool { + if self.len() != other.len() { + return false; + } + + unsafe { + if self.len() <= 12 { + return self.0.small.data[..self.len()] == other.0.small.data[..other.len()]; + } + return self.0.large.prefix == other.0.large.prefix + && self.as_bytes() == other.as_bytes(); + } + } +} + #[cfg(test)] mod tests { use super::*; |