Fixes dumb perf overhead for Vec getting extensions

This commit is contained in:
Deukhoofd 2023-10-29 15:18:37 +01:00
parent e666bb5a0e
commit a92b9c096a
Signed by: Deukhoofd
GPG Key ID: F63E044490819F6F
1 changed files with 4 additions and 4 deletions

View File

@ -13,12 +13,12 @@ impl<T> VecExt<T> for [T] {
fn get_mut_res(&mut self, index: usize) -> Result<&mut T> {
let len = self.len();
self.get_mut(index)
.ok_or(PkmnError::IndexOutOfBounds { index, len }.into())
.ok_or_else(|| PkmnError::IndexOutOfBounds { index, len }.into())
}
fn get_res(&self, index: usize) -> Result<&T> {
self.get(index)
.ok_or(PkmnError::IndexOutOfBounds { index, len: self.len() }.into())
.ok_or_else(|| PkmnError::IndexOutOfBounds { index, len: self.len() }.into())
}
}
@ -26,11 +26,11 @@ impl<T> VecExt<T> for Vec<T> {
fn get_mut_res(&mut self, index: usize) -> Result<&mut T> {
let len = self.len();
self.get_mut(index)
.ok_or(PkmnError::IndexOutOfBounds { index, len }.into())
.ok_or_else(|| PkmnError::IndexOutOfBounds { index, len }.into())
}
fn get_res(&self, index: usize) -> Result<&T> {
self.get(index)
.ok_or(PkmnError::IndexOutOfBounds { index, len: self.len() }.into())
.ok_or_else(|| PkmnError::IndexOutOfBounds { index, len: self.len() }.into())
}
}