diff options
Diffstat (limited to 'src/libregex')
| -rw-r--r-- | src/libregex/compile.rs | 2 | ||||
| -rw-r--r-- | src/libregex/parse.rs | 4 | ||||
| -rw-r--r-- | src/libregex/test/tests.rs | 2 | ||||
| -rw-r--r-- | src/libregex/vm.rs | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/src/libregex/compile.rs b/src/libregex/compile.rs index a32dfcf5d2a..c3e195af6f9 100644 --- a/src/libregex/compile.rs +++ b/src/libregex/compile.rs @@ -102,7 +102,7 @@ impl Program { // This is a bit hacky since we have to skip over the initial // 'Save' instruction. let mut pre = String::with_capacity(5); - for inst in c.insts[1..].iter() { + for inst in c.insts.slice_from(1).iter() { match *inst { OneChar(c, FLAG_EMPTY) => pre.push(c), _ => break diff --git a/src/libregex/parse.rs b/src/libregex/parse.rs index bf576432631..7f4289b128a 100644 --- a/src/libregex/parse.rs +++ b/src/libregex/parse.rs @@ -511,7 +511,7 @@ impl<'a> Parser<'a> { self.chari = closer; let greed = try!(self.get_next_greedy()); let inner = String::from_chars( - self.chars[start+1..closer]); + self.chars.as_slice().slice(start + 1, closer)); // Parse the min and max values from the regex. let (mut min, mut max): (uint, Option<uint>); @@ -944,7 +944,7 @@ impl<'a> Parser<'a> { } fn slice(&self, start: uint, end: uint) -> String { - String::from_chars(self.chars[start..end]) + String::from_chars(self.chars.as_slice().slice(start, end)) } } diff --git a/src/libregex/test/tests.rs b/src/libregex/test/tests.rs index 088425c0888..48065992bb0 100644 --- a/src/libregex/test/tests.rs +++ b/src/libregex/test/tests.rs @@ -130,7 +130,7 @@ macro_rules! mat( // actual capture groups to match test set. let (sexpect, mut sgot) = (expected.as_slice(), got.as_slice()); if sgot.len() > sexpect.len() { - sgot = sgot[0..sexpect.len()] + sgot = sgot.slice(0, sexpect.len()) } if sexpect != sgot { fail!("For RE '{}' against '{}', expected '{}' but got '{}'", diff --git a/src/libregex/vm.rs b/src/libregex/vm.rs index 0a4dca9125a..085975580b7 100644 --- a/src/libregex/vm.rs +++ b/src/libregex/vm.rs @@ -145,7 +145,7 @@ impl<'r, 't> Nfa<'r, 't> { // out early. if self.prog.prefix.len() > 0 && clist.size == 0 { let needle = self.prog.prefix.as_slice().as_bytes(); - let haystack = self.input.as_bytes()[self.ic..]; + let haystack = self.input.as_bytes().slice_from(self.ic); match find_prefix(needle, haystack) { None => break, Some(i) => { |
