@@ -218,7 +218,7 @@ use crate::rmeta::{rustc_version, MetadataBlob, METADATA_HEADER};
218
218
219
219
use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
220
220
use rustc_data_structures:: memmap:: Mmap ;
221
- use rustc_data_structures:: owning_ref :: OwningRef ;
221
+ use rustc_data_structures:: owned_slice :: slice_owned ;
222
222
use rustc_data_structures:: svh:: Svh ;
223
223
use rustc_data_structures:: sync:: MetadataRef ;
224
224
use rustc_errors:: { DiagnosticArgValue , FatalError , IntoDiagnosticArg } ;
@@ -236,6 +236,7 @@ use rustc_target::spec::{Target, TargetTriple};
236
236
use snap:: read:: FrameDecoder ;
237
237
use std:: borrow:: Cow ;
238
238
use std:: io:: { Read , Result as IoResult , Write } ;
239
+ use std:: ops:: Deref ;
239
240
use std:: path:: { Path , PathBuf } ;
240
241
use std:: { cmp, fmt} ;
241
242
@@ -814,15 +815,14 @@ fn get_metadata_section<'p>(
814
815
// Assume the decompressed data will be at least the size of the compressed data, so we
815
816
// don't have to grow the buffer as much.
816
817
let mut inflated = Vec :: with_capacity ( compressed_bytes. len ( ) ) ;
817
- match FrameDecoder :: new ( compressed_bytes) . read_to_end ( & mut inflated) {
818
- Ok ( _) => rustc_erase_owner ! ( OwningRef :: new( inflated) . map_owner_box( ) ) ,
819
- Err ( _) => {
820
- return Err ( MetadataError :: LoadFailure ( format ! (
821
- "failed to decompress metadata: {}" ,
822
- filename. display( )
823
- ) ) ) ;
824
- }
825
- }
818
+ FrameDecoder :: new ( compressed_bytes) . read_to_end ( & mut inflated) . map_err ( |_| {
819
+ MetadataError :: LoadFailure ( format ! (
820
+ "failed to decompress metadata: {}" ,
821
+ filename. display( )
822
+ ) )
823
+ } ) ?;
824
+
825
+ slice_owned ( inflated, Deref :: deref)
826
826
}
827
827
CrateFlavor :: Rmeta => {
828
828
// mmap the file, because only a small fraction of it is read.
@@ -840,7 +840,7 @@ fn get_metadata_section<'p>(
840
840
) )
841
841
} ) ?;
842
842
843
- rustc_erase_owner ! ( OwningRef :: new ( mmap ) . map_owner_box ( ) )
843
+ slice_owned ( mmap , Deref :: deref )
844
844
}
845
845
} ;
846
846
let blob = MetadataBlob :: new ( raw_bytes) ;
0 commit comments