about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-01-30 23:18:22 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-01-30 23:18:22 +0300
commita5d725cc82f0b3ca99d3d6fc157b0a28da4ddf9b (patch)
treef02c3ea78ea22570271d3b7e34ab5906deadce48 /src
parent4a4f8ff0a3eeb0855f03ad88c2f11f12761041f0 (diff)
downloadrust-a5d725cc82f0b3ca99d3d6fc157b0a28da4ddf9b.tar.gz
rust-a5d725cc82f0b3ca99d3d6fc157b0a28da4ddf9b.zip
cleanup: Refactor away `DtorKind`
Diffstat (limited to 'src')
-rw-r--r--src/librustc/ty/mod.rs25
-rw-r--r--src/librustc_trans/glue.rs2
2 files changed, 2 insertions, 25 deletions
diff --git a/src/librustc/ty/mod.rs b/src/librustc/ty/mod.rs
index db21d35f990..5ab45e746e7 100644
--- a/src/librustc/ty/mod.rs
+++ b/src/librustc/ty/mod.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 pub use self::Variance::*;
-pub use self::DtorKind::*;
 pub use self::AssociatedItemContainer::*;
 pub use self::BorrowKind::*;
 pub use self::IntVarValue::*;
@@ -120,21 +119,6 @@ pub struct Resolutions {
     pub maybe_unused_trait_imports: NodeSet,
 }
 
-#[derive(Copy, Clone)]
-pub enum DtorKind {
-    NoDtor,
-    TraitDtor
-}
-
-impl DtorKind {
-    pub fn is_present(&self) -> bool {
-        match *self {
-            TraitDtor => true,
-            _ => false
-        }
-    }
-}
-
 #[derive(Clone, Copy, PartialEq, Eq, Debug)]
 pub enum AssociatedItemContainer {
     TraitContainer(DefId),
@@ -1480,7 +1464,7 @@ impl<'a, 'gcx, 'tcx> AdtDef {
 
     /// Returns whether this type has a destructor.
     pub fn has_dtor(&self) -> bool {
-        self.dtor_kind().is_present()
+        self.destructor.get().is_some()
     }
 
     /// Asserts this is a struct and returns the struct's unique
@@ -1543,13 +1527,6 @@ impl<'a, 'gcx, 'tcx> AdtDef {
         self.destructor.set(Some(dtor));
     }
 
-    pub fn dtor_kind(&self) -> DtorKind {
-        match self.destructor.get() {
-            Some(_) => TraitDtor,
-            None => NoDtor,
-        }
-    }
-
     /// Returns a simpler type such that `Self: Sized` if and only
     /// if that type is Sized, or `TyErr` if this type is recursive.
     ///
diff --git a/src/librustc_trans/glue.rs b/src/librustc_trans/glue.rs
index 350c8f950dd..1415ca6029f 100644
--- a/src/librustc_trans/glue.rs
+++ b/src/librustc_trans/glue.rs
@@ -235,7 +235,7 @@ pub fn implement_drop_glue<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, g: DropGlueKi
             bcx.call(dtor, &[ptr.llval], None);
             bcx
         }
-        ty::TyAdt(def, ..) if def.dtor_kind().is_present() && !skip_dtor => {
+        ty::TyAdt(def, ..) if def.has_dtor() && !skip_dtor => {
             let shallow_drop = def.is_union();
             let tcx = bcx.tcx();