diff options
| author | Corey Farwell <coreyf@rwell.org> | 2018-11-26 08:40:34 -0500 |
|---|---|---|
| committer | Corey Farwell <coreyf@rwell.org> | 2018-11-26 09:12:32 -0500 |
| commit | cc466851bc458219121142ae75f5cc47bb3a927f (patch) | |
| tree | f9b7971df2e04ea9d7f047aac27ca447475de0c2 | |
| parent | e9bca7a993d740291568c57eeef797b175c591cf (diff) | |
| download | rust-cc466851bc458219121142ae75f5cc47bb3a927f.tar.gz rust-cc466851bc458219121142ae75f5cc47bb3a927f.zip | |
Remove unsafe `unsafe` inner function.
Within this `Iterator` implementation, a function `unsafe_get` is defined which unsafely allows _unchecked_ indexing of any element in a slice. This should be marked as _unsafe_, but it is not. To address this issue, I removed that inner function.
| -rw-r--r-- | src/libcore/str/lossy.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/libcore/str/lossy.rs b/src/libcore/str/lossy.rs index 186d6adbc91..52abd8f9952 100644 --- a/src/libcore/str/lossy.rs +++ b/src/libcore/str/lossy.rs @@ -62,18 +62,15 @@ impl<'a> Iterator for Utf8LossyChunksIter<'a> { } const TAG_CONT_U8: u8 = 128; - fn unsafe_get(xs: &[u8], i: usize) -> u8 { - unsafe { *xs.get_unchecked(i) } - } fn safe_get(xs: &[u8], i: usize) -> u8 { - if i >= xs.len() { 0 } else { unsafe_get(xs, i) } + *xs.get(i).unwrap_or(&0) } let mut i = 0; while i < self.source.len() { let i_ = i; - let byte = unsafe_get(self.source, i); + let byte = unsafe { *self.source.get_unchecked(i) }; i += 1; if byte < 128 { |
