diff options
| author | U-NOV2010\eugals <C:\Self\AppData\Mail> | 2013-09-17 13:36:47 +0400 |
|---|---|---|
| committer | Evgeny Sologubov <C:\Self\AppData\Mail> | 2013-09-19 18:34:26 +0400 |
| commit | dfa3f5fa8d20bc970843c88bc5cbca398a26ce7c (patch) | |
| tree | 6d299363798a0fc60fe83845e4460af28beda1ed /src | |
| parent | 2927ab13df9436ae2042866885ea0b9d29cdcedc (diff) | |
| download | rust-dfa3f5fa8d20bc970843c88bc5cbca398a26ce7c.tar.gz rust-dfa3f5fa8d20bc970843c88bc5cbca398a26ce7c.zip | |
minor Type::opaque_trait code cleanup
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/trans/type_.rs | 23 |
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 { |
