mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
lift_to_tcx -> lift_to_interner
This commit is contained in:
parent
3de0a7c716
commit
a6510507e7
@ -45,7 +45,7 @@ pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStre
|
||||
quote! {
|
||||
type Lifted = #lifted;
|
||||
|
||||
fn lift_to_tcx(self, __tcx: ::rustc_middle::ty::TyCtxt<'__lifted>) -> Option<#lifted> {
|
||||
fn lift_to_interner(self, __tcx: ::rustc_middle::ty::TyCtxt<'__lifted>) -> Option<#lifted> {
|
||||
Some(match self { #body })
|
||||
}
|
||||
},
|
||||
|
@ -59,7 +59,7 @@ macro_rules! TrivialLiftImpls {
|
||||
$(
|
||||
impl<'tcx> $crate::ty::Lift<$crate::ty::TyCtxt<'tcx>> for $ty {
|
||||
type Lifted = Self;
|
||||
fn lift_to_tcx(self, _: $crate::ty::TyCtxt<'tcx>) -> Option<Self> {
|
||||
fn lift_to_interner(self, _: $crate::ty::TyCtxt<'tcx>) -> Option<Self> {
|
||||
Some(self)
|
||||
}
|
||||
}
|
||||
|
@ -1484,7 +1484,7 @@ impl<'tcx> TyCtxt<'tcx> {
|
||||
}
|
||||
|
||||
pub fn lift<T: Lift<TyCtxt<'tcx>>>(self, value: T) -> Option<T::Lifted> {
|
||||
value.lift_to_tcx(self)
|
||||
value.lift_to_interner(self)
|
||||
}
|
||||
|
||||
/// Creates a type context. To use the context call `fn enter` which
|
||||
@ -2087,7 +2087,7 @@ macro_rules! nop_lift {
|
||||
($set:ident; $ty:ty => $lifted:ty) => {
|
||||
impl<'a, 'tcx> Lift<TyCtxt<'tcx>> for $ty {
|
||||
type Lifted = $lifted;
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
// Assert that the set has the right type.
|
||||
// Given an argument that has an interned type, the return type has the type of
|
||||
// the corresponding interner set. This won't actually return anything, we're
|
||||
@ -2122,7 +2122,7 @@ macro_rules! nop_list_lift {
|
||||
($set:ident; $ty:ty => $lifted:ty) => {
|
||||
impl<'a, 'tcx> Lift<TyCtxt<'tcx>> for &'a List<$ty> {
|
||||
type Lifted = &'tcx List<$lifted>;
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
// Assert that the set has the right type.
|
||||
if false {
|
||||
let _x: &InternedSet<'tcx, List<$lifted>> = &tcx.interners.$set;
|
||||
@ -2160,7 +2160,7 @@ macro_rules! nop_slice_lift {
|
||||
($ty:ty => $lifted:ty) => {
|
||||
impl<'a, 'tcx> Lift<TyCtxt<'tcx>> for &'a [$ty] {
|
||||
type Lifted = &'tcx [$lifted];
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
if self.is_empty() {
|
||||
return Some(&[]);
|
||||
}
|
||||
|
@ -308,7 +308,7 @@ impl<'tcx> GenericArg<'tcx> {
|
||||
impl<'a, 'tcx> Lift<TyCtxt<'tcx>> for GenericArg<'a> {
|
||||
type Lifted = GenericArg<'tcx>;
|
||||
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
match self.unpack() {
|
||||
GenericArgKind::Lifetime(lt) => tcx.lift(lt).map(|lt| lt.into()),
|
||||
GenericArgKind::Type(ty) => tcx.lift(ty).map(|ty| ty.into()),
|
||||
|
@ -283,7 +283,7 @@ TrivialTypeTraversalAndLiftImpls! {
|
||||
|
||||
impl<'tcx, T: Lift<TyCtxt<'tcx>>> Lift<TyCtxt<'tcx>> for Option<T> {
|
||||
type Lifted = Option<T::Lifted>;
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
Some(match self {
|
||||
Some(x) => Some(tcx.lift(x)?),
|
||||
None => None,
|
||||
@ -293,7 +293,7 @@ impl<'tcx, T: Lift<TyCtxt<'tcx>>> Lift<TyCtxt<'tcx>> for Option<T> {
|
||||
|
||||
impl<'a, 'tcx> Lift<TyCtxt<'tcx>> for Term<'a> {
|
||||
type Lifted = ty::Term<'tcx>;
|
||||
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
|
||||
match self.unpack() {
|
||||
TermKind::Ty(ty) => tcx.lift(ty).map(Into::into),
|
||||
TermKind::Const(c) => tcx.lift(c).map(Into::into),
|
||||
|
@ -49,10 +49,10 @@ where
|
||||
{
|
||||
type Lifted = Binder<U, T::Lifted>;
|
||||
|
||||
fn lift_to_tcx(self, tcx: U) -> Option<Self::Lifted> {
|
||||
fn lift_to_interner(self, tcx: U) -> Option<Self::Lifted> {
|
||||
Some(Binder {
|
||||
value: self.value.lift_to_tcx(tcx)?,
|
||||
bound_vars: self.bound_vars.lift_to_tcx(tcx)?,
|
||||
value: self.value.lift_to_interner(tcx)?,
|
||||
bound_vars: self.bound_vars.lift_to_interner(tcx)?,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -17,5 +17,5 @@
|
||||
/// e.g., `()` or `u8`, was interned in a different context.
|
||||
pub trait Lift<I>: std::fmt::Debug {
|
||||
type Lifted: std::fmt::Debug;
|
||||
fn lift_to_tcx(self, tcx: I) -> Option<Self::Lifted>;
|
||||
fn lift_to_interner(self, tcx: I) -> Option<Self::Lifted>;
|
||||
}
|
||||
|
@ -34,8 +34,8 @@ where
|
||||
{
|
||||
type Lifted = OutlivesPredicate<U, A::Lifted>;
|
||||
|
||||
fn lift_to_tcx(self, tcx: U) -> Option<Self::Lifted> {
|
||||
Some(OutlivesPredicate(self.0.lift_to_tcx(tcx)?, self.1.lift_to_tcx(tcx)?))
|
||||
fn lift_to_interner(self, tcx: U) -> Option<Self::Lifted> {
|
||||
Some(OutlivesPredicate(self.0.lift_to_interner(tcx)?, self.1.lift_to_interner(tcx)?))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream {
|
||||
wc.push(parse_quote! { #ty: ::rustc_type_ir::lift::Lift<J, Lifted = #lifted_ty> });
|
||||
let bind = &bindings[index];
|
||||
quote! {
|
||||
#bind.lift_to_tcx(interner)?
|
||||
#bind.lift_to_interner(interner)?
|
||||
}
|
||||
})
|
||||
});
|
||||
@ -89,7 +89,7 @@ fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream {
|
||||
quote! {
|
||||
type Lifted = #lifted_ty;
|
||||
|
||||
fn lift_to_tcx(
|
||||
fn lift_to_interner(
|
||||
self,
|
||||
interner: J,
|
||||
) -> Option<Self::Lifted> {
|
||||
|
Loading…
Reference in New Issue
Block a user