Skip to content

Commit f8c6f42

Browse files
committed
Monomorphize query serialisation.
1 parent f74b0b9 commit f8c6f42

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

compiler/rustc_middle/src/ty/context.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ use rustc_hir::lang_items::LangItem;
4545
use rustc_hir::{HirId, ItemKind, ItemLocalId, ItemLocalMap, ItemLocalSet, Node, TraitCandidate};
4646
use rustc_index::vec::{Idx, IndexVec};
4747
use rustc_macros::HashStable;
48+
use rustc_serialize::opaque;
4849
use rustc_session::config::{BorrowckMode, CrateType, OutputFilenames};
4950
use rustc_session::lint::{Level, Lint};
5051
use rustc_session::Session;
@@ -1323,10 +1324,7 @@ impl<'tcx> TyCtxt<'tcx> {
13231324
}
13241325
}
13251326

1326-
pub fn serialize_query_result_cache<E>(self, encoder: &mut E) -> Result<(), E::Error>
1327-
where
1328-
E: ty::codec::OpaqueEncoder,
1329-
{
1327+
pub fn serialize_query_result_cache(self, encoder: &mut opaque::Encoder) -> Result<(), !> {
13301328
self.queries.on_disk_cache.serialize(self, encoder)
13311329
}
13321330

compiler/rustc_middle/src/ty/query/on_disk_cache.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,11 @@ impl<'sess> OnDiskCache<'sess> {
176176
}
177177
}
178178

179-
pub fn serialize<'tcx, E>(&self, tcx: TyCtxt<'tcx>, encoder: &mut E) -> Result<(), E::Error>
180-
where
181-
E: OpaqueEncoder,
182-
{
179+
pub fn serialize<'tcx>(
180+
&self,
181+
tcx: TyCtxt<'tcx>,
182+
encoder: &mut opaque::Encoder,
183+
) -> Result<(), !> {
183184
// Serializing the `DepGraph` should not modify it.
184185
tcx.dep_graph.with_ignore(|| {
185186
// Allocate `SourceFileIndex`es.
@@ -228,7 +229,7 @@ impl<'sess> OnDiskCache<'sess> {
228229
macro_rules! encode_queries {
229230
($($query:ident,)*) => {
230231
$(
231-
encode_query_results::<ty::query::queries::$query<'_>, _>(
232+
encode_query_results::<ty::query::queries::$query<'_>>(
232233
tcx,
233234
enc,
234235
qri
@@ -987,15 +988,14 @@ impl<'a> Decodable<opaque::Decoder<'a>> for IntEncodedWithFixedSize {
987988
}
988989
}
989990

990-
fn encode_query_results<'a, 'tcx, Q, E>(
991+
fn encode_query_results<'a, 'tcx, Q>(
991992
tcx: TyCtxt<'tcx>,
992-
encoder: &mut CacheEncoder<'a, 'tcx, E>,
993+
encoder: &mut CacheEncoder<'a, 'tcx, opaque::Encoder>,
993994
query_result_index: &mut EncodedQueryResultIndex,
994-
) -> Result<(), E::Error>
995+
) -> Result<(), !>
995996
where
996997
Q: super::QueryDescription<TyCtxt<'tcx>> + super::QueryAccessors<TyCtxt<'tcx>>,
997-
Q::Value: Encodable<CacheEncoder<'a, 'tcx, E>>,
998-
E: 'a + OpaqueEncoder,
998+
Q::Value: Encodable<CacheEncoder<'a, 'tcx, opaque::Encoder>>,
999999
{
10001000
let _timer = tcx
10011001
.sess

0 commit comments

Comments
 (0)