Skip to content

Commit 060609c

Browse files
committed
libcore: Implement Eq for string types
1 parent 381a628 commit 060609c

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/libcore/str.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* some heavy-duty uses, try std::rope.
88
*/
99

10+
import cmp::Eq;
1011
import libc::size_t;
1112
import io::WriterUtil;
1213

@@ -694,6 +695,30 @@ pure fn eq(a: &~str, b: &~str) -> bool {
694695
/// Bytewise less than or equal
695696
pure fn le(a: &~str, b: &~str) -> bool { *a <= *b }
696697

698+
#[cfg(notest)]
699+
impl &str: Eq {
700+
#[inline(always)]
701+
pure fn eq(&&other: &str) -> bool {
702+
eq_slice(self, other)
703+
}
704+
}
705+
706+
#[cfg(notest)]
707+
impl ~str: Eq {
708+
#[inline(always)]
709+
pure fn eq(&&other: ~str) -> bool {
710+
eq_slice(self, other)
711+
}
712+
}
713+
714+
#[cfg(notest)]
715+
impl @str: Eq {
716+
#[inline(always)]
717+
pure fn eq(&&other: @str) -> bool {
718+
eq_slice(self, other)
719+
}
720+
}
721+
697722
/// String hash function
698723
pure fn hash(s: &~str) -> uint {
699724
hash::hash_str(*s) as uint

0 commit comments

Comments
 (0)