diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2011-07-20 19:04:45 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2011-07-20 19:04:45 -0700 |
| commit | 3ec3b02ed086b6061dcda7cc93dbfe90a4253d8b (patch) | |
| tree | 15ee804aab81fda9be74163e1bbc77f298f99057 /src/comp/middle/ty.rs | |
| parent | 142ff3bb4ee0c58efc9185505695681468df3e05 (diff) | |
| download | rust-3ec3b02ed086b6061dcda7cc93dbfe90a4253d8b.tar.gz rust-3ec3b02ed086b6061dcda7cc93dbfe90a4253d8b.zip | |
rustc: Strip cnames before generating glue to avoid duplicates
Diffstat (limited to 'src/comp/middle/ty.rs')
| -rw-r--r-- | src/comp/middle/ty.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs index 4717bd56efe..42973866499 100644 --- a/src/comp/middle/ty.rs +++ b/src/comp/middle/ty.rs @@ -108,6 +108,7 @@ export sequence_is_interior; export struct; export sort_methods; export stmt_node_id; +export strip_cname; export sty; export substitute_type_params; export t; @@ -855,10 +856,14 @@ fn fold_ty(&ctxt cx, fold_mode fld, t ty_0) -> t { // Type utilities + fn rename(&ctxt cx, t typ, str new_cname) -> t { ret gen_ty_full(cx, struct(cx, typ), some[str](new_cname)); } +fn strip_cname(&ctxt cx, t typ) -> t { + ret gen_ty_full(cx, struct(cx, typ), none); +} // Returns a type with the structural part taken from `struct_ty` and the // canonical name from `cname_ty`. |
