Skip to content

Commit

Permalink
Rollup merge of #78318 - bugadani:tyctx-impl, r=petrochenkov
Browse files Browse the repository at this point in the history
TyCtxt: generate single impl block with `slice_interners` macro

Reduces the work needed to check overlapping impls a bit.
  • Loading branch information
jonas-schievink authored Oct 24, 2020
2 parents 5ed8ac4 + 6533d01 commit a8ff5a4
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions compiler/rustc_middle/src/ty/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2036,13 +2036,13 @@ direct_interners! {

macro_rules! slice_interners {
($($field:ident: $method:ident($ty:ty)),+ $(,)?) => (
$(impl<'tcx> TyCtxt<'tcx> {
pub fn $method(self, v: &[$ty]) -> &'tcx List<$ty> {
impl<'tcx> TyCtxt<'tcx> {
$(pub fn $method(self, v: &[$ty]) -> &'tcx List<$ty> {
self.interners.$field.intern_ref(v, || {
Interned(List::from_arena(&*self.arena, v))
}).0
}
})+
})+
}
);
}

Expand Down

0 comments on commit a8ff5a4

Please sign in to comment.