about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/str.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/str.rs b/src/lib/str.rs
index 39e905f8c96..9efb24b6e51 100644
--- a/src/lib/str.rs
+++ b/src/lib/str.rs
@@ -4,7 +4,8 @@ export eq, lteq, hash, is_empty, is_not_empty, is_whitespace, byte_len, index,
        unshift_char, shift_char, pop_char, push_char, is_utf8, from_chars,
        to_chars, char_len, char_at, bytes, is_ascii, shift_byte, pop_byte,
        unsafe_from_byte, unsafe_from_bytes, from_char, char_range_at,
-       str_from_cstr, sbuf, as_buf, push_byte, utf8_char_width, safe_slice;
+       str_from_cstr, sbuf, as_buf, push_byte, utf8_char_width, safe_slice,
+       contains;
 
 native "rust" mod rustrt {
     fn rust_str_push(&s: str, ch: u8);
@@ -254,6 +255,10 @@ fn find(haystack: str, needle: str) -> int {
     ret -1;
 }
 
+fn contains(haystack: str, needle: str) -> bool {
+    0 <= find(haystack, needle)
+}
+
 fn starts_with(haystack: str, needle: str) -> bool {
     let haystack_len: uint = byte_len(haystack);
     let needle_len: uint = byte_len(needle);