diff options
| author | Patrick Walton <[email protected]> | 2011-02-17 16:23:31 -0800 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-02-17 16:23:31 -0800 |
| commit | 10befcd9a4d9f68e2dbec84c4a86450a021143fb (patch) | |
| tree | 7485ae8b66f3349e3987b480d4be44b34e01af5b /src/comp/middle/trans.rs | |
| parent | Steps toward implementing iterators. (diff) | |
| download | rust-10befcd9a4d9f68e2dbec84c4a86450a021143fb.tar.xz rust-10befcd9a4d9f68e2dbec84c4a86450a021143fb.zip | |
Add type parameters to tag types
Diffstat (limited to 'src/comp/middle/trans.rs')
| -rw-r--r-- | src/comp/middle/trans.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 62b5a415..9d336f22 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -490,7 +490,7 @@ fn type_of_inner(@crate_ctxt cx, @ty.t t) -> TypeRef { } case (ty.ty_char) { ret T_char(); } case (ty.ty_str) { ret T_ptr(T_str()); } - case (ty.ty_tag(?tag_id)) { + case (ty.ty_tag(?tag_id, _)) { ret llvm.LLVMResolveTypeHandle(cx.tags.get(tag_id).th.llth); } case (ty.ty_box(?t)) { @@ -1445,7 +1445,9 @@ fn iter_structural_ty(@block_ctxt cx, i += 1; } } - case (ty.ty_tag(?tid)) { + case (ty.ty_tag(?tid, _)) { + // TODO: type params! + check (cx.fcx.ccx.tags.contains_key(tid)); auto info = cx.fcx.ccx.tags.get(tid); auto n_variants = _vec.len[tup(ast.def_id,arity)](info.variants); |