diff options
Diffstat (limited to 'crates/shirabe-php-shim')
| -rw-r--r-- | crates/shirabe-php-shim/src/lib.rs | 6 | ||||
| -rw-r--r-- | crates/shirabe-php-shim/src/preg.rs | 8 |
2 files changed, 5 insertions, 9 deletions
diff --git a/crates/shirabe-php-shim/src/lib.rs b/crates/shirabe-php-shim/src/lib.rs index 949c5e2..aa80f53 100644 --- a/crates/shirabe-php-shim/src/lib.rs +++ b/crates/shirabe-php-shim/src/lib.rs @@ -1952,10 +1952,8 @@ fn array_replace_recursive_list( ) -> Vec<Box<PhpMixed>> { for (index, replacement_value) in replacement.into_iter().enumerate() { if index < base.len() { - base[index] = Box::new(array_replace_recursive_value( - (*base[index]).clone(), - *replacement_value, - )); + *base[index] = + array_replace_recursive_value((*base[index]).clone(), *replacement_value); } else { base.push(replacement_value); } diff --git a/crates/shirabe-php-shim/src/preg.rs b/crates/shirabe-php-shim/src/preg.rs index 6bf8900..3d36137 100644 --- a/crates/shirabe-php-shim/src/preg.rs +++ b/crates/shirabe-php-shim/src/preg.rs @@ -71,8 +71,8 @@ pub fn preg_match_all(pattern: &str, subject: &str) -> Vec<Vec<String>> { let group_count = re.captures_len(); let mut groups: Vec<Vec<String>> = vec![Vec::new(); group_count]; for caps in re.captures_iter(subject) { - for g in 0..group_count { - groups[g].push( + for (g, group) in groups.iter_mut().enumerate() { + group.push( caps.get(g) .map(|m| m.as_str().to_string()) .unwrap_or_default(), @@ -348,8 +348,7 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec< }; let mut last = 0usize; - let mut delims = 0usize; - for caps in re.captures_iter(subject) { + for (delims, caps) in re.captures_iter(subject).enumerate() { if delims >= max_delims { break; } @@ -365,7 +364,6 @@ pub fn preg_split2(pattern: &str, subject: &str, limit: i64, flags: i64) -> Vec< } } last = m.end(); - delims += 1; } push(&subject[last..], &mut result); |
