Skip to content

Commit 1c0ed0d

Browse files
committed
Auto merge of rust-lang#89183 - cjgillot:noenc, r=oli-obk
Move encode_metadata out of CrateStore. `rustc_metadata` is already accessible by all client crates. It does not need to be called trough a trait object.
2 parents aa7aca3 + 2d51b78 commit 1c0ed0d

File tree

23 files changed

+57
-56
lines changed

23 files changed

+57
-56
lines changed

Cargo.lock

+1
Original file line numberDiff line numberDiff line change
@@ -3706,6 +3706,7 @@ dependencies = [
37063706
"rustc_incremental",
37073707
"rustc_index",
37083708
"rustc_macros",
3709+
"rustc_metadata",
37093710
"rustc_middle",
37103711
"rustc_serialize",
37113712
"rustc_session",

compiler/rustc_codegen_cranelift/scripts/filter_profile.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
9696
stack = &stack[..index + REPORT_SYMBOL_NAMES.len()];
9797
}
9898

99-
const ENCODE_METADATA: &str = "rustc_middle::ty::context::TyCtxt::encode_metadata";
99+
const ENCODE_METADATA: &str = "rustc_metadata::rmeta::encoder::encode_metadata";
100100
if let Some(index) = stack.find(ENCODE_METADATA) {
101101
stack = &stack[..index + ENCODE_METADATA.len()];
102102
}

compiler/rustc_codegen_cranelift/src/driver/aot.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use std::path::PathBuf;
66
use rustc_ast::{InlineAsmOptions, InlineAsmTemplatePiece};
77
use rustc_codegen_ssa::{CodegenResults, CompiledModule, CrateInfo, ModuleKind};
88
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
9+
use rustc_metadata::EncodedMetadata;
910
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
10-
use rustc_middle::middle::cstore::EncodedMetadata;
1111
use rustc_middle::mir::mono::{CodegenUnit, MonoItem};
1212
use rustc_session::cgu_reuse_tracker::CguReuse;
1313
use rustc_session::config::{DebugInfo, OutputType};

compiler/rustc_codegen_cranelift/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ use std::any::Any;
3030
use rustc_codegen_ssa::traits::CodegenBackend;
3131
use rustc_codegen_ssa::CodegenResults;
3232
use rustc_errors::ErrorReported;
33+
use rustc_metadata::EncodedMetadata;
3334
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
34-
use rustc_middle::middle::cstore::EncodedMetadata;
3535
use rustc_session::config::OutputFilenames;
3636
use rustc_session::Session;
3737

compiler/rustc_codegen_cranelift/src/metadata.rs

+7-3
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@
33
use object::write::{Object, StandardSegment, Symbol, SymbolSection};
44
use object::{SectionKind, SymbolFlags, SymbolKind, SymbolScope};
55

6-
use rustc_middle::middle::cstore::EncodedMetadata;
6+
use rustc_metadata::EncodedMetadata;
77
use rustc_middle::ty::TyCtxt;
88

99
// Adapted from https://github.com/rust-lang/rust/blob/da573206f87b5510de4b0ee1a9c044127e409bd3/src/librustc_codegen_llvm/base.rs#L47-L112
10-
pub(crate) fn new_metadata_object(tcx: TyCtxt<'_>, cgu_name: &str, metadata: &EncodedMetadata) -> Vec<u8> {
10+
pub(crate) fn new_metadata_object(
11+
tcx: TyCtxt<'_>,
12+
cgu_name: &str,
13+
metadata: &EncodedMetadata,
14+
) -> Vec<u8> {
1115
use snap::write::FrameEncoder;
1216
use std::io::Write;
1317

1418
let mut compressed = rustc_metadata::METADATA_HEADER.to_vec();
15-
FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data).unwrap();
19+
FrameEncoder::new(&mut compressed).write_all(metadata.raw_data()).unwrap();
1620

1721
let triple = crate::target_triple(tcx.sess);
1822

compiler/rustc_codegen_gcc/src/base.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ use gccjit::{
77
GlobalKind,
88
};
99
use rustc_middle::dep_graph;
10-
use rustc_middle::middle::cstore::EncodedMetadata;
1110
use rustc_middle::middle::exported_symbols;
1211
use rustc_middle::ty::TyCtxt;
1312
use rustc_middle::mir::mono::Linkage;
1413
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind};
1514
use rustc_codegen_ssa::base::maybe_create_entry_wrapper;
1615
use rustc_codegen_ssa::mono_item::MonoItemExt;
1716
use rustc_codegen_ssa::traits::DebugInfoMethods;
17+
use rustc_metadata::EncodedMetadata;
1818
use rustc_session::config::DebugInfo;
1919
use rustc_span::Symbol;
2020

@@ -149,7 +149,7 @@ pub fn write_compressed_metadata<'tcx>(tcx: TyCtxt<'tcx>, metadata: &EncodedMeta
149149

150150
let context = &gcc_module.context;
151151
let mut compressed = rustc_metadata::METADATA_HEADER.to_vec();
152-
FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data).unwrap();
152+
FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data()).unwrap();
153153

154154
let name = exported_symbols::metadata_symbol_name(tcx);
155155
let typ = context.new_array_type(None, context.new_type::<u8>(), compressed.len() as i32);

compiler/rustc_codegen_gcc/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ use rustc_codegen_ssa::target_features::supported_target_features;
6060
use rustc_codegen_ssa::traits::{CodegenBackend, ExtraBackendMethods, ModuleBufferMethods, ThinBufferMethods, WriteBackendMethods};
6161
use rustc_data_structures::fx::FxHashMap;
6262
use rustc_errors::{ErrorReported, Handler};
63+
use rustc_metadata::EncodedMetadata;
6364
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
64-
use rustc_middle::middle::cstore::EncodedMetadata;
6565
use rustc_middle::ty::TyCtxt;
6666
use rustc_session::config::{Lto, OptLevel, OutputFilenames};
6767
use rustc_session::Session;

compiler/rustc_codegen_llvm/src/base.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ use rustc_codegen_ssa::mono_item::MonoItemExt;
2525
use rustc_codegen_ssa::traits::*;
2626
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind};
2727
use rustc_data_structures::small_c_str::SmallCStr;
28+
use rustc_metadata::EncodedMetadata;
2829
use rustc_middle::dep_graph;
2930
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs;
30-
use rustc_middle::middle::cstore::EncodedMetadata;
3131
use rustc_middle::middle::exported_symbols;
3232
use rustc_middle::mir::mono::{Linkage, Visibility};
3333
use rustc_middle::ty::TyCtxt;
@@ -64,7 +64,7 @@ pub fn write_compressed_metadata<'tcx>(
6464

6565
let (metadata_llcx, metadata_llmod) = (&*llvm_module.llcx, llvm_module.llmod());
6666
let mut compressed = rustc_metadata::METADATA_HEADER.to_vec();
67-
FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data).unwrap();
67+
FrameEncoder::new(&mut compressed).write_all(metadata.raw_data()).unwrap();
6868

6969
let llmeta = common::bytes_in_context(metadata_llcx, &compressed);
7070
let llconst = common::struct_in_context(metadata_llcx, &[llmeta], false);

compiler/rustc_codegen_llvm/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ use rustc_codegen_ssa::ModuleCodegen;
2727
use rustc_codegen_ssa::{CodegenResults, CompiledModule};
2828
use rustc_data_structures::fx::FxHashMap;
2929
use rustc_errors::{ErrorReported, FatalError, Handler};
30+
use rustc_metadata::EncodedMetadata;
3031
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
31-
use rustc_middle::middle::cstore::EncodedMetadata;
3232
use rustc_middle::ty::TyCtxt;
3333
use rustc_session::config::{OptLevel, OutputFilenames, PrintRequest};
3434
use rustc_session::Session;

compiler/rustc_codegen_ssa/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ rustc_hir = { path = "../rustc_hir" }
3232
rustc_incremental = { path = "../rustc_incremental" }
3333
rustc_index = { path = "../rustc_index" }
3434
rustc_macros = { path = "../rustc_macros" }
35+
rustc_metadata = { path = "../rustc_metadata" }
3536
rustc_target = { path = "../rustc_target" }
3637
rustc_session = { path = "../rustc_session" }
3738

compiler/rustc_codegen_ssa/src/back/link.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ fn link_rlib<'a, B: ArchiveBuilder<'a>>(
327327
// metadata in rlib files is wrapped in a "dummy" object file for
328328
// the target platform so the rlib can be processed entirely by
329329
// normal linkers for the platform.
330-
let metadata = create_metadata_file(sess, &codegen_results.metadata.raw_data);
330+
let metadata = create_metadata_file(sess, codegen_results.metadata.raw_data());
331331
ab.add_file(&emit_metadata(sess, &metadata, tmpdir));
332332

333333
// After adding all files to the archive, we need to update the

compiler/rustc_codegen_ssa/src/back/write.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ use rustc_hir::def_id::{CrateNum, LOCAL_CRATE};
2121
use rustc_incremental::{
2222
copy_cgu_workproduct_to_incr_comp_cache_dir, in_incr_comp_dir, in_incr_comp_dir_sess,
2323
};
24+
use rustc_metadata::EncodedMetadata;
2425
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
25-
use rustc_middle::middle::cstore::EncodedMetadata;
2626
use rustc_middle::middle::exported_symbols::SymbolExportLevel;
2727
use rustc_middle::ty::TyCtxt;
2828
use rustc_session::cgu_reuse_tracker::CguReuseTracker;

compiler/rustc_codegen_ssa/src/base.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ use rustc_hir as hir;
1818
use rustc_hir::def_id::{DefId, LOCAL_CRATE};
1919
use rustc_hir::lang_items::LangItem;
2020
use rustc_index::vec::Idx;
21+
use rustc_metadata::EncodedMetadata;
2122
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs;
22-
use rustc_middle::middle::cstore::EncodedMetadata;
2323
use rustc_middle::middle::lang_items;
2424
use rustc_middle::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, MonoItem};
2525
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout};

compiler/rustc_codegen_ssa/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ pub struct CodegenResults {
158158
pub modules: Vec<CompiledModule>,
159159
pub allocator_module: Option<CompiledModule>,
160160
pub metadata_module: Option<CompiledModule>,
161-
pub metadata: rustc_middle::middle::cstore::EncodedMetadata,
161+
pub metadata: rustc_metadata::EncodedMetadata,
162162
pub crate_info: CrateInfo,
163163
}
164164

compiler/rustc_codegen_ssa/src/traits/backend.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ use crate::{CodegenResults, ModuleCodegen};
66
use rustc_ast::expand::allocator::AllocatorKind;
77
use rustc_data_structures::fx::FxHashMap;
88
use rustc_errors::ErrorReported;
9+
use rustc_metadata::EncodedMetadata;
910
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
10-
use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoaderDyn};
11+
use rustc_middle::middle::cstore::MetadataLoaderDyn;
1112
use rustc_middle::ty::layout::{FnAbiOf, HasTyCtxt, LayoutOf, TyAndLayout};
1213
use rustc_middle::ty::query::Providers;
1314
use rustc_middle::ty::{Ty, TyCtxt};

compiler/rustc_interface/src/passes.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ use rustc_hir::def_id::{StableCrateId, LOCAL_CRATE};
1616
use rustc_hir::Crate;
1717
use rustc_lint::LintStore;
1818
use rustc_metadata::creader::CStore;
19+
use rustc_metadata::{encode_metadata, EncodedMetadata};
1920
use rustc_middle::arena::Arena;
2021
use rustc_middle::dep_graph::DepGraph;
21-
use rustc_middle::middle;
2222
use rustc_middle::middle::cstore::{MetadataLoader, MetadataLoaderDyn};
2323
use rustc_middle::ty::query::Providers;
2424
use rustc_middle::ty::{self, GlobalCtxt, ResolverOutputs, TyCtxt};
@@ -977,7 +977,7 @@ fn analysis(tcx: TyCtxt<'_>, (): ()) -> Result<()> {
977977
fn encode_and_write_metadata(
978978
tcx: TyCtxt<'_>,
979979
outputs: &OutputFilenames,
980-
) -> (middle::cstore::EncodedMetadata, bool) {
980+
) -> (EncodedMetadata, bool) {
981981
#[derive(PartialEq, Eq, PartialOrd, Ord)]
982982
enum MetadataKind {
983983
None,
@@ -1000,8 +1000,8 @@ fn encode_and_write_metadata(
10001000
.unwrap_or(MetadataKind::None);
10011001

10021002
let metadata = match metadata_kind {
1003-
MetadataKind::None => middle::cstore::EncodedMetadata::new(),
1004-
MetadataKind::Uncompressed | MetadataKind::Compressed => tcx.encode_metadata(),
1003+
MetadataKind::None => EncodedMetadata::new(),
1004+
MetadataKind::Uncompressed | MetadataKind::Compressed => encode_metadata(tcx),
10051005
};
10061006

10071007
let _prof_timer = tcx.sess.prof.generic_activity("write_crate_metadata");
@@ -1020,7 +1020,7 @@ fn encode_and_write_metadata(
10201020
.tempdir_in(out_filename.parent().unwrap())
10211021
.unwrap_or_else(|err| tcx.sess.fatal(&format!("couldn't create a temp dir: {}", err)));
10221022
let metadata_tmpdir = MaybeTempDir::new(metadata_tmpdir, tcx.sess.opts.cg.save_temps);
1023-
let metadata_filename = emit_metadata(tcx.sess, &metadata.raw_data, &metadata_tmpdir);
1023+
let metadata_filename = emit_metadata(tcx.sess, metadata.raw_data(), &metadata_tmpdir);
10241024
if let Err(e) = util::non_durable_rename(&metadata_filename, &out_filename) {
10251025
tcx.sess.fatal(&format!("failed to write {}: {}", out_filename.display(), e));
10261026
}

compiler/rustc_metadata/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ pub mod creader;
3030
pub mod dynamic_lib;
3131
pub mod locator;
3232

33-
pub use rmeta::METADATA_HEADER;
33+
pub use rmeta::{encode_metadata, EncodedMetadata, METADATA_HEADER};

compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use crate::creader::{CStore, LoadedMacro};
22
use crate::foreign_modules;
33
use crate::native_libs;
4-
use crate::rmeta::encoder;
54

65
use rustc_ast as ast;
76
use rustc_data_structures::stable_map::FxHashMap;
@@ -10,7 +9,7 @@ use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, CRATE_DEF_INDEX, LOCAL_CRATE}
109
use rustc_hir::definitions::{DefKey, DefPath, DefPathHash};
1110
use rustc_middle::hir::exports::Export;
1211
use rustc_middle::middle::cstore::ForeignModule;
13-
use rustc_middle::middle::cstore::{CrateSource, CrateStore, EncodedMetadata};
12+
use rustc_middle::middle::cstore::{CrateSource, CrateStore};
1413
use rustc_middle::middle::exported_symbols::ExportedSymbol;
1514
use rustc_middle::middle::stability::DeprecationEntry;
1615
use rustc_middle::ty::query::Providers;
@@ -511,8 +510,4 @@ impl CrateStore for CStore {
511510
fn expn_hash_to_expn_id(&self, cnum: CrateNum, index_guess: u32, hash: ExpnHash) -> ExpnId {
512511
self.get_crate_data(cnum).expn_hash_to_expn_id(index_guess, hash)
513512
}
514-
515-
fn encode_metadata(&self, tcx: TyCtxt<'_>) -> EncodedMetadata {
516-
encoder::encode_metadata(tcx)
517-
}
518513
}

compiler/rustc_metadata/src/rmeta/encoder.rs

+21-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use rustc_hir::{AnonConst, GenericParamKind};
1818
use rustc_index::bit_set::GrowableBitSet;
1919
use rustc_index::vec::Idx;
2020
use rustc_middle::hir::map::Map;
21-
use rustc_middle::middle::cstore::{EncodedMetadata, ForeignModule, LinkagePreference, NativeLib};
21+
use rustc_middle::middle::cstore::{ForeignModule, LinkagePreference, NativeLib};
2222
use rustc_middle::middle::dependency_format::Linkage;
2323
use rustc_middle::middle::exported_symbols::{
2424
metadata_symbol_name, ExportedSymbol, SymbolExportLevel,
@@ -2101,7 +2101,26 @@ fn prefetch_mir(tcx: TyCtxt<'_>) {
21012101
// will allow us to slice the metadata to the precise length that we just
21022102
// generated regardless of trailing bytes that end up in it.
21032103

2104-
pub(super) fn encode_metadata(tcx: TyCtxt<'_>) -> EncodedMetadata {
2104+
#[derive(Encodable, Decodable)]
2105+
pub struct EncodedMetadata {
2106+
raw_data: Vec<u8>,
2107+
}
2108+
2109+
impl EncodedMetadata {
2110+
#[inline]
2111+
pub fn new() -> EncodedMetadata {
2112+
EncodedMetadata { raw_data: Vec::new() }
2113+
}
2114+
2115+
#[inline]
2116+
pub fn raw_data(&self) -> &[u8] {
2117+
&self.raw_data[..]
2118+
}
2119+
}
2120+
2121+
pub fn encode_metadata(tcx: TyCtxt<'_>) -> EncodedMetadata {
2122+
let _prof_timer = tcx.prof.verbose_generic_activity("generate_crate_metadata");
2123+
21052124
// Since encoding metadata is not in a query, and nothing is cached,
21062125
// there's no need to do dep-graph tracking for any of it.
21072126
tcx.dep_graph.assert_ignored();

compiler/rustc_metadata/src/rmeta/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use decoder::DecodeContext;
3333
pub use decoder::{provide, provide_extern};
3434
crate use decoder::{CrateMetadata, CrateNumMap, MetadataBlob};
3535
use encoder::EncodeContext;
36+
pub use encoder::{encode_metadata, EncodedMetadata};
3637
use rustc_span::hygiene::SyntaxContextData;
3738

3839
mod decoder;

compiler/rustc_middle/src/middle/cstore.rs

-16
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
//! are *mostly* used as a part of that interface, but these should
33
//! probably get a better home if someone can find one.
44
5-
use crate::ty::TyCtxt;
6-
75
use rustc_ast as ast;
86
use rustc_data_structures::sync::{self, MetadataRef};
97
use rustc_hir::def_id::{CrateNum, DefId, StableCrateId, LOCAL_CRATE};
@@ -150,17 +148,6 @@ pub enum ExternCrateSource {
150148
Path,
151149
}
152150

153-
#[derive(Encodable, Decodable)]
154-
pub struct EncodedMetadata {
155-
pub raw_data: Vec<u8>,
156-
}
157-
158-
impl EncodedMetadata {
159-
pub fn new() -> EncodedMetadata {
160-
EncodedMetadata { raw_data: Vec::new() }
161-
}
162-
}
163-
164151
/// The backend's way to give the crate store access to the metadata in a library.
165152
/// Note that it returns the raw metadata bytes stored in the library file, whether
166153
/// it is compressed, uncompressed, some weird mix, etc.
@@ -204,9 +191,6 @@ pub trait CrateStore: std::fmt::Debug {
204191
/// Fetch a DefId from a DefPathHash for a foreign crate.
205192
fn def_path_hash_to_def_id(&self, cnum: CrateNum, hash: DefPathHash) -> DefId;
206193
fn expn_hash_to_expn_id(&self, cnum: CrateNum, index_guess: u32, hash: ExpnHash) -> ExpnId;
207-
208-
// utility functions
209-
fn encode_metadata(&self, tcx: TyCtxt<'_>) -> EncodedMetadata;
210194
}
211195

212196
pub type CrateStoreDyn = dyn CrateStore + sync::Sync;

compiler/rustc_middle/src/ty/context.rs

-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ use crate::ich::{NodeIdHashingMode, StableHashingContext};
77
use crate::infer::canonical::{Canonical, CanonicalVarInfo, CanonicalVarInfos};
88
use crate::lint::{struct_lint_level, LintDiagnosticBuilder, LintLevelSource};
99
use crate::middle;
10-
use crate::middle::cstore::EncodedMetadata;
1110
use crate::middle::resolve_lifetime::{self, LifetimeScopeForPath, ObjectLifetimeDefault};
1211
use crate::middle::stability;
1312
use crate::mir::interpret::{self, AllocId, Allocation, ConstValue, Scalar};
@@ -1324,11 +1323,6 @@ impl<'tcx> TyCtxt<'tcx> {
13241323
)
13251324
}
13261325

1327-
pub fn encode_metadata(self) -> EncodedMetadata {
1328-
let _prof_timer = self.prof.verbose_generic_activity("generate_crate_metadata");
1329-
self.untracked_resolutions.cstore.encode_metadata(self)
1330-
}
1331-
13321326
/// Note that this is *untracked* and should only be used within the query
13331327
/// system if the result is otherwise tracked through queries
13341328
pub fn cstore_untracked(self) -> &'tcx ty::CrateStoreDyn {

src/test/run-make-fulldeps/hotplug_codegen_backend/the_backend.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
#![deny(warnings)]
33

44
extern crate rustc_codegen_ssa;
5-
extern crate rustc_errors;
6-
extern crate rustc_middle;
75
extern crate rustc_data_structures;
86
extern crate rustc_driver;
7+
extern crate rustc_errors;
98
extern crate rustc_hir;
9+
extern crate rustc_metadata;
10+
extern crate rustc_middle;
1011
extern crate rustc_session;
1112
extern crate rustc_span;
1213
extern crate rustc_symbol_mangling;
@@ -16,8 +17,8 @@ use rustc_codegen_ssa::traits::CodegenBackend;
1617
use rustc_codegen_ssa::{CodegenResults, CrateInfo};
1718
use rustc_data_structures::fx::FxHashMap;
1819
use rustc_errors::ErrorReported;
20+
use rustc_metadata::EncodedMetadata;
1921
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
20-
use rustc_middle::middle::cstore::EncodedMetadata;
2122
use rustc_middle::ty::TyCtxt;
2223
use rustc_session::config::OutputFilenames;
2324
use rustc_session::Session;

0 commit comments

Comments
 (0)