diff options
| author | Oli Scherer <github333195615777966@oli-obk.de> | 2025-02-14 10:58:40 +0000 |
|---|---|---|
| committer | Oli Scherer <github333195615777966@oli-obk.de> | 2025-02-14 16:23:07 +0000 |
| commit | be2cd9540b0e56cd798ea1911ae48dc16ae2383f (patch) | |
| tree | be27f1b87700091f0c7a7018acbb05ff092e0267 | |
| parent | 905b1bf1ccccaf091a880b069f80dc38ad9ecad3 (diff) | |
| download | rust-be2cd9540b0e56cd798ea1911ae48dc16ae2383f.tar.gz rust-be2cd9540b0e56cd798ea1911ae48dc16ae2383f.zip | |
Decode metadata buffer in one go
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/encoder.rs | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index 81fb918c604..d8a7c32a299 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -2272,10 +2272,7 @@ impl<D: Decoder> Decodable<D> for EncodedMetadata { let len = d.read_usize(); let mmap = if len > 0 { let mut mmap = MmapMut::map_anon(len).unwrap(); - for _ in 0..len { - (&mut mmap[..]).write_all(&[d.read_u8()]).unwrap(); - } - mmap.flush().unwrap(); + mmap.copy_from_slice(d.read_raw_bytes(len)); Some(mmap.make_read_only().unwrap()) } else { None |
