Skip to content

Commit 3c7f619

Browse files
committed
str: use more helpful assertion failure messages
1 parent c2dd553 commit 3c7f619

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/libcore/str.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1764,7 +1764,9 @@ impl<'a> StrSlice<'a> for &'a str {
17641764

17651765
#[inline]
17661766
fn slice(&self, begin: uint, end: uint) -> &'a str {
1767-
assert!(self.is_char_boundary(begin) && self.is_char_boundary(end));
1767+
assert!(self.is_char_boundary(begin) && self.is_char_boundary(end),
1768+
"index {} and/or {} in `{}` do not lie on character boundary", begin,
1769+
end, *self);
17681770
unsafe { raw::slice_bytes(*self, begin, end) }
17691771
}
17701772

@@ -1775,7 +1777,8 @@ impl<'a> StrSlice<'a> for &'a str {
17751777

17761778
#[inline]
17771779
fn slice_to(&self, end: uint) -> &'a str {
1778-
assert!(self.is_char_boundary(end));
1780+
assert!(self.is_char_boundary(end), "index {} in `{}` does not lie on \
1781+
a character boundary", end, *self);
17791782
unsafe { raw::slice_bytes(*self, 0, end) }
17801783
}
17811784

0 commit comments

Comments
 (0)