diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-05-01 16:06:43 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-05-04 13:11:51 +1000 |
| commit | 58002faca0ac45589c6092030a5459eae9720e3d (patch) | |
| tree | 1c624a242a01eee5d66bd00278df4e7e66f9f5b0 /compiler/rustc_serialize | |
| parent | b71ce293e843f17e27bd2868981dead23691019e (diff) | |
| download | rust-58002faca0ac45589c6092030a5459eae9720e3d.tar.gz rust-58002faca0ac45589c6092030a5459eae9720e3d.zip | |
Reorder some `MemDecoder` methods.
So they match the order in the `Decoder` trait.
Diffstat (limited to 'compiler/rustc_serialize')
| -rw-r--r-- | compiler/rustc_serialize/src/opaque.rs | 20 | ||||
| -rw-r--r-- | compiler/rustc_serialize/src/serialize.rs | 4 |
2 files changed, 12 insertions, 12 deletions
diff --git a/compiler/rustc_serialize/src/opaque.rs b/compiler/rustc_serialize/src/opaque.rs index a2ec318df6d..bb722b9ad66 100644 --- a/compiler/rustc_serialize/src/opaque.rs +++ b/compiler/rustc_serialize/src/opaque.rs @@ -442,9 +442,8 @@ macro_rules! read_leb128 { impl<'a> Decoder for MemDecoder<'a> { #[inline] - fn position(&self) -> usize { - // SAFETY: This type guarantees start <= current - unsafe { self.current.sub_ptr(self.start) } + fn read_usize(&mut self) -> usize { + read_leb128!(self, read_usize_leb128) } #[inline] @@ -481,8 +480,8 @@ impl<'a> Decoder for MemDecoder<'a> { } #[inline] - fn read_usize(&mut self) -> usize { - read_leb128!(self, read_usize_leb128) + fn read_isize(&mut self) -> isize { + read_leb128!(self, read_isize_leb128) } #[inline] @@ -506,11 +505,6 @@ impl<'a> Decoder for MemDecoder<'a> { } #[inline] - fn read_isize(&mut self) -> isize { - read_leb128!(self, read_isize_leb128) - } - - #[inline] fn read_raw_bytes(&mut self, bytes: usize) -> &'a [u8] { if bytes > self.remaining() { Self::decoder_exhausted(); @@ -532,6 +526,12 @@ impl<'a> Decoder for MemDecoder<'a> { // Since we just checked current == end, the current pointer must be inbounds. unsafe { *self.current } } + + #[inline] + fn position(&self) -> usize { + // SAFETY: This type guarantees start <= current + unsafe { self.current.sub_ptr(self.start) } + } } // Specializations for contiguous byte sequences follow. The default implementations for slices diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs index 4abbd7f3c59..06166cabc18 100644 --- a/compiler/rustc_serialize/src/serialize.rs +++ b/compiler/rustc_serialize/src/serialize.rs @@ -31,13 +31,13 @@ const STR_SENTINEL: u8 = 0xC1; /// really makes sense to store floating-point values at all. /// (If you need it, revert <https://github.com/rust-lang/rust/pull/109984>.) pub trait Encoder { - // Primitive types: fn emit_usize(&mut self, v: usize); fn emit_u128(&mut self, v: u128); fn emit_u64(&mut self, v: u64); fn emit_u32(&mut self, v: u32); fn emit_u16(&mut self, v: u16); fn emit_u8(&mut self, v: u8); + fn emit_isize(&mut self, v: isize); fn emit_i128(&mut self, v: i128); fn emit_i64(&mut self, v: i64); @@ -89,13 +89,13 @@ pub trait Encoder { /// really makes sense to store floating-point values at all. /// (If you need it, revert <https://github.com/rust-lang/rust/pull/109984>.) pub trait Decoder { - // Primitive types: fn read_usize(&mut self) -> usize; fn read_u128(&mut self) -> u128; fn read_u64(&mut self) -> u64; fn read_u32(&mut self) -> u32; fn read_u16(&mut self) -> u16; fn read_u8(&mut self) -> u8; + fn read_isize(&mut self) -> isize; fn read_i128(&mut self) -> i128; fn read_i64(&mut self) -> i64; |
