diff options
| author | Taras Tsugrii <taras.tsugriy@gmail.com> | 2023-08-15 18:33:57 -0700 |
|---|---|---|
| committer | Taras Tsugrii <taras.tsugriy@gmail.com> | 2023-08-16 10:05:14 -0700 |
| commit | ac0a8ca40d163c6f7a2724ac0c785cf0bf2e9ef4 (patch) | |
| tree | cbe0dc94903e37c5536a70ed9c0bef09aa29b8be | |
| parent | 5b9168a32d143067ffe99fb1c6979b8daa6d715e (diff) | |
| download | rust-ac0a8ca40d163c6f7a2724ac0c785cf0bf2e9ef4.tar.gz rust-ac0a8ca40d163c6f7a2724ac0c785cf0bf2e9ef4.zip | |
Avoid unnecessary Vec resize.
If `size > 0` current implementation will first create an empty vec and then push an element into it, which will cause a resize that can be easily avoided. It's obviously not a big deal, but this also gets rid of `mut` local variable.
| -rw-r--r-- | src/tools/miri/src/range_map.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/tools/miri/src/range_map.rs b/src/tools/miri/src/range_map.rs index 146715ddda2..2b4544228e5 100644 --- a/src/tools/miri/src/range_map.rs +++ b/src/tools/miri/src/range_map.rs @@ -27,11 +27,8 @@ impl<T> RangeMap<T> { #[inline(always)] pub fn new(size: Size, init: T) -> RangeMap<T> { let size = size.bytes(); - let mut map = RangeMap { v: Vec::new() }; - if size > 0 { - map.v.push(Elem { range: 0..size, data: init }); - } - map + let v = if size > 0 { vec![Elem { range: 0..size, data: init }] } else { Vec::new() }; + RangeMap { v } } /// Finds the index containing the given offset. |
