Skip to content

Commit 3b3513a

Browse files
committed
Monomorphize query serialisation.
1 parent 85fc539 commit 3b3513a

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
@@ -47,6 +47,7 @@ use rustc_hir::{
4747
};
4848
use rustc_index::vec::{Idx, IndexVec};
4949
use rustc_macros::HashStable;
50+
use rustc_serialize::opaque;
5051
use rustc_session::config::{BorrowckMode, CrateType, OutputFilenames};
5152
use rustc_session::lint::{Level, Lint};
5253
use rustc_session::Session;
@@ -1335,10 +1336,7 @@ impl<'tcx> TyCtxt<'tcx> {
13351336
}
13361337
}
13371338

1338-
pub fn serialize_query_result_cache<E>(self, encoder: &mut E) -> Result<(), E::Error>
1339-
where
1340-
E: ty::codec::OpaqueEncoder,
1341-
{
1339+
pub fn serialize_query_result_cache(self, encoder: &mut opaque::Encoder) -> Result<(), !> {
13421340
self.queries.on_disk_cache.as_ref().map(|c| c.serialize(self, encoder)).unwrap_or(Ok(()))
13431341
}
13441342

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,11 @@ impl<'sess> OnDiskCache<'sess> {
240240
}
241241
}
242242

243-
pub fn serialize<'tcx, E>(&self, tcx: TyCtxt<'tcx>, encoder: &mut E) -> Result<(), E::Error>
244-
where
245-
E: OpaqueEncoder,
246-
{
243+
pub fn serialize<'tcx>(
244+
&self,
245+
tcx: TyCtxt<'tcx>,
246+
encoder: &mut opaque::Encoder,
247+
) -> Result<(), !> {
247248
// Serializing the `DepGraph` should not modify it.
248249
tcx.dep_graph.with_ignore(|| {
249250
// Allocate `SourceFileIndex`es.
@@ -297,7 +298,7 @@ impl<'sess> OnDiskCache<'sess> {
297298
macro_rules! encode_queries {
298299
($($query:ident,)*) => {
299300
$(
300-
encode_query_results::<ty::query::queries::$query<'_>, _>(
301+
encode_query_results::<ty::query::queries::$query<'_>>(
301302
tcx,
302303
enc,
303304
qri
@@ -1167,15 +1168,14 @@ impl<'a> Decodable<opaque::Decoder<'a>> for IntEncodedWithFixedSize {
11671168
}
11681169
}
11691170

1170-
fn encode_query_results<'a, 'tcx, Q, E>(
1171+
fn encode_query_results<'a, 'tcx, Q>(
11711172
tcx: TyCtxt<'tcx>,
1172-
encoder: &mut CacheEncoder<'a, 'tcx, E>,
1173+
encoder: &mut CacheEncoder<'a, 'tcx, opaque::Encoder>,
11731174
query_result_index: &mut EncodedQueryResultIndex,
1174-
) -> Result<(), E::Error>
1175+
) -> Result<(), !>
11751176
where
11761177
Q: super::QueryDescription<TyCtxt<'tcx>> + super::QueryAccessors<TyCtxt<'tcx>>,
1177-
Q::Value: Encodable<CacheEncoder<'a, 'tcx, E>>,
1178-
E: 'a + OpaqueEncoder,
1178+
Q::Value: Encodable<CacheEncoder<'a, 'tcx, opaque::Encoder>>,
11791179
{
11801180
let _timer = tcx
11811181
.sess

0 commit comments

Comments
 (0)