diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-06-16 16:00:25 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-06-16 16:20:32 +1000 |
| commit | bb02cc47c49ee3cc1e913c243d69ee7cb23df598 (patch) | |
| tree | 957f4eb12de558ee321f9a012c4cd1468c54b34d /compiler/rustc_metadata/src | |
| parent | ca983054e19afd74d63c3ed37997f3bf30fe85d0 (diff) | |
Move `finish` out of the `Encoder` trait.
This simplifies things, but requires making `CacheEncoder` non-generic. (This was previously merged as commit 4 in #94732 and then was reverted in #97905 because it caused a perf regression.)
Diffstat (limited to 'compiler/rustc_metadata/src')
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/encoder.rs | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index 91ca4ecf3e1..2db0800190a 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -94,9 +94,6 @@ macro_rules! encoder_methods { } impl<'a, 'tcx> Encoder for EncodeContext<'a, 'tcx> { - type Ok = <MemEncoder as Encoder>::Ok; - type Err = <MemEncoder as Encoder>::Err; - encoder_methods! { emit_usize(usize); emit_u128(u128); @@ -119,10 +116,6 @@ impl<'a, 'tcx> Encoder for EncodeContext<'a, 'tcx> { emit_str(&str); emit_raw_bytes(&[u8]); } - - fn finish(self) -> Result<Self::Ok, Self::Err> { - self.opaque.finish() - } } impl<'a, 'tcx, T> Encodable<EncodeContext<'a, 'tcx>> for LazyValue<T> { @@ -2216,7 +2209,7 @@ fn encode_metadata_impl(tcx: TyCtxt<'_>) -> EncodedMetadata { // culminating in the `CrateRoot` which points to all of it. let root = ecx.encode_crate_root(); - let mut result = ecx.opaque.finish().unwrap(); + let mut result = ecx.opaque.finish(); // Encode the root position. let header = METADATA_HEADER.len(); |
