about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorU-NOV2010\eugals <C:\Self\AppData\Mail>2013-09-17 13:36:47 +0400
committerEvgeny Sologubov <C:\Self\AppData\Mail>2013-09-19 18:34:26 +0400
commitdfa3f5fa8d20bc970843c88bc5cbca398a26ce7c (patch)
tree6d299363798a0fc60fe83845e4460af28beda1ed /src
parent2927ab13df9436ae2042866885ea0b9d29cdcedc (diff)
downloadrust-dfa3f5fa8d20bc970843c88bc5cbca398a26ce7c.tar.gz
rust-dfa3f5fa8d20bc970843c88bc5cbca398a26ce7c.zip
minor Type::opaque_trait code cleanup
Diffstat (limited to 'src')
-rw-r--r--src/librustc/middle/trans/type_.rs23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/librustc/middle/trans/type_.rs b/src/librustc/middle/trans/type_.rs
index 8b221a89c36..0954302ba81 100644
--- a/src/librustc/middle/trans/type_.rs
+++ b/src/librustc/middle/trans/type_.rs
@@ -278,23 +278,12 @@ impl Type {
 
     pub fn opaque_trait(ctx: &CrateContext, store: ty::TraitStore) -> Type {
         let tydesc_ptr = ctx.tydesc_type.ptr_to();
-        match store {
-            ty::BoxTraitStore => {
-                Type::struct_(
-                    [ tydesc_ptr, Type::opaque_box(ctx).ptr_to() ],
-                false)
-            }
-            ty::UniqTraitStore => {
-                Type::struct_(
-                    [ tydesc_ptr, Type::unique(ctx, &Type::i8()).ptr_to()],
-                false)
-            }
-            ty::RegionTraitStore(*) => {
-                Type::struct_(
-                    [ tydesc_ptr, Type::i8().ptr_to() ],
-                false)
-            }
-        }
+        let box_ty = match store {
+            ty::BoxTraitStore => Type::opaque_box(ctx),
+            ty::UniqTraitStore => Type::unique(ctx, &Type::i8()),
+            ty::RegionTraitStore(*) => Type::i8()
+        };
+        Type::struct_([tydesc_ptr, box_ty.ptr_to()], false)
     }
 
     pub fn kind(&self) -> TypeKind {