diff options
| author | Saleem Jaffer <ssaleem1992@gmail.com> | 2019-05-03 13:05:10 +0530 |
|---|---|---|
| committer | Saleem Jaffer <ssaleem1992@gmail.com> | 2019-05-04 15:19:59 +0530 |
| commit | 8802dc037eb2fa84692588bc026bd550554e282b (patch) | |
| tree | cab4f53fb22182426967dec2594f1690d37ec42e /src | |
| parent | 852dd491efde37dfecacd803d843592a15f9eab6 (diff) | |
| download | rust-8802dc037eb2fa84692588bc026bd550554e282b.tar.gz rust-8802dc037eb2fa84692588bc026bd550554e282b.zip | |
adding is_freeze to TyLayoutMethods
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/ty/layout.rs | 8 | ||||
| -rw-r--r-- | src/librustc_target/abi/mod.rs | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/librustc/ty/layout.rs b/src/librustc/ty/layout.rs index 319db52fe20..e4f80838d84 100644 --- a/src/librustc/ty/layout.rs +++ b/src/librustc/ty/layout.rs @@ -1961,6 +1961,14 @@ impl<'a, 'tcx, C> TyLayoutMethods<'tcx, C> for Ty<'tcx> } } + fn is_freeze( + this: TyLayout<'tcx>, + cx: &C, + param_env: Self::ParamEnv, + )-> bool { + this.ty.is_freeze(cx.tcx(), param_env, DUMMY_SP) + } + } struct Niche { diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs index d69b4b6d2bd..087d98d7031 100644 --- a/src/librustc_target/abi/mod.rs +++ b/src/librustc_target/abi/mod.rs @@ -947,6 +947,11 @@ pub trait TyLayoutMethods<'a, C: LayoutOf<Ty = Self>>: Sized { offset: Size, param_env: Self::ParamEnv, ) -> Option<PointeeInfo>; + fn is_freeze( + this: TyLayout<'a, Self>, + cx: &C, + param_env: Self::ParamEnv, + )-> bool; } impl<'a, Ty> TyLayout<'a, Ty> { @@ -964,6 +969,10 @@ impl<'a, Ty> TyLayout<'a, Ty> { where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> { Ty::pointee_info_at(self, cx, offset, param_env) } + pub fn is_freeze<C>(self, cx: &C, param_env: Ty::ParamEnv) -> bool + where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> { + Ty::is_freeze(self, cx, param_env) + } } impl<'a, Ty> TyLayout<'a, Ty> { |
