about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorSaleem Jaffer <ssaleem1992@gmail.com>2019-05-03 13:05:10 +0530
committerSaleem Jaffer <ssaleem1992@gmail.com>2019-05-04 15:19:59 +0530
commit8802dc037eb2fa84692588bc026bd550554e282b (patch)
treecab4f53fb22182426967dec2594f1690d37ec42e /src
parent852dd491efde37dfecacd803d843592a15f9eab6 (diff)
downloadrust-8802dc037eb2fa84692588bc026bd550554e282b.tar.gz
rust-8802dc037eb2fa84692588bc026bd550554e282b.zip
adding is_freeze to TyLayoutMethods
Diffstat (limited to 'src')
-rw-r--r--src/librustc/ty/layout.rs8
-rw-r--r--src/librustc_target/abi/mod.rs9
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> {