Skip to content

Commit 51ba1cd

Browse files
committed
Use basic loop instead of copy_from_slice
This is also slightly faster.
1 parent 8009200 commit 51ba1cd

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/pct_enc/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -608,17 +608,17 @@ impl<'a> Decode<'a> {
608608
split_at = BUF_SIZE;
609609
}
610610

611-
let (prefix, rem) = buf.split_at_mut(split_at);
612-
613-
for chunk in Utf8Chunks::new(prefix) {
611+
for chunk in Utf8Chunks::new(&buf[..split_at]) {
614612
handle_chunk(DecodedUtf8Chunk::Decoded {
615613
valid: chunk.valid(),
616614
invalid: chunk.invalid(),
617615
});
618616
}
619617

620-
prefix[..rem.len()].copy_from_slice(rem);
621-
len = rem.len();
618+
for i in split_at..BUF_SIZE {
619+
buf[i - split_at] = buf[i];
620+
}
621+
len = BUF_SIZE - split_at;
622622
}
623623
}
624624
}

0 commit comments

Comments
 (0)