libcore: Implement Eq for string types
This commit is contained in:
parent
381a628c4c
commit
060609cd56
@ -7,6 +7,7 @@
|
||||
* some heavy-duty uses, try std::rope.
|
||||
*/
|
||||
|
||||
import cmp::Eq;
|
||||
import libc::size_t;
|
||||
import io::WriterUtil;
|
||||
|
||||
@ -694,6 +695,30 @@ pure fn eq(a: &~str, b: &~str) -> bool {
|
||||
/// Bytewise less than or equal
|
||||
pure fn le(a: &~str, b: &~str) -> bool { *a <= *b }
|
||||
|
||||
#[cfg(notest)]
|
||||
impl &str: Eq {
|
||||
#[inline(always)]
|
||||
pure fn eq(&&other: &str) -> bool {
|
||||
eq_slice(self, other)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl ~str: Eq {
|
||||
#[inline(always)]
|
||||
pure fn eq(&&other: ~str) -> bool {
|
||||
eq_slice(self, other)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(notest)]
|
||||
impl @str: Eq {
|
||||
#[inline(always)]
|
||||
pure fn eq(&&other: @str) -> bool {
|
||||
eq_slice(self, other)
|
||||
}
|
||||
}
|
||||
|
||||
/// String hash function
|
||||
pure fn hash(s: &~str) -> uint {
|
||||
hash::hash_str(*s) as uint
|
||||
|
Loading…
x
Reference in New Issue
Block a user