about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-03-03 17:09:20 -0800
committerPatrick Walton <pcwalton@mimiga.net>2011-03-03 17:09:20 -0800
commit04a0a6fbef0cc7c3c89fbbbeff68ab2c999d9592 (patch)
tree27b3416d8a0a1aa31f12c30269c4c25c6e4a9fb7
parentf6682280f3e3e8923c283df8277964b6cbf8d8b8 (diff)
Revert "rustc: Add support for folding over tag types" as it's unnecessary. Oops.
-rw-r--r--src/comp/middle/trans.rs2
-rw-r--r--src/comp/middle/ty.rs10
-rw-r--r--src/comp/middle/typeck.rs4
3 files changed, 1 insertions, 15 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 984333058f2..5f163d106a8 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -1144,8 +1144,6 @@ fn linearize_ty_params(@block_ctxt cx, @ty.t t)
             }
             ret t;
         }
-
-        fn fold_tag_ty(@ty.t t) -> @ty.t { ret t; }
     }
 
 
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index a44cdb4d44b..c85892f2a90 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -294,7 +294,6 @@ fn ty_to_str(&@t typ) -> str {
 
 type ty_fold = state obj {
     fn fold_simple_ty(@t ty) -> @t;
-    fn fold_tag_ty(@t ty) -> @t;
 };
 
 fn fold_ty(ty_fold fld, @t ty) -> @t {
@@ -323,8 +322,7 @@ fn fold_ty(ty_fold fld, @t ty) -> @t {
             for (@t subty in subtys) {
                 new_subtys += vec(fold_ty(fld, subty));
             }
-            auto typ = rewrap(ty, ty_tag(tid, new_subtys));
-            ret fld.fold_tag_ty(typ);
+            ret rewrap(ty, ty_tag(tid, new_subtys));
         }
         case (ty_tup(?subtys)) {
             let vec[@t] new_subtys = vec();
@@ -613,8 +611,6 @@ fn count_ty_params(@t ty) -> uint {
             }
             ret ty;
         }
-
-        fn fold_tag_ty(@t ty) -> @t { ret ty; }
     }
 
     let vec[ast.def_id] param_ids_inner = vec();
@@ -1433,8 +1429,6 @@ fn unify(@ty.t expected, @ty.t actual, &unify_handler handler)
                     }
                 }
             }
-
-            fn fold_tag_ty(@t typ) -> @t { ret typ; }
         }
 
         ret ty.fold_ty(folder(bindings), typ);
@@ -1554,8 +1548,6 @@ fn replace_type_params(@t typ, hashmap[ast.def_id,@t] param_map) -> @t {
                 }
             }
         }
-
-        fn fold_tag_ty(@t typ) -> @t { ret typ; }
     }
     auto replacer = param_replacer(param_map);
     ret fold_ty(replacer, typ);
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 918cc4f1da1..f8f7fc72719 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -73,8 +73,6 @@ fn generalize_ty(@crate_ctxt cx, @ty.t t) -> @ty.t {
             }
             ret t;
         }
-
-        fn fold_tag_ty(@ty.t t) -> @ty.t { ret t; }
     }
 
     auto generalizer = ty_generalizer(cx, @common.new_def_hash[@ty.t]());
@@ -116,8 +114,6 @@ fn substitute_ty_params(&@crate_ctxt ccx,
                 case (_) { ret typ; }
             }
         }
-
-        fn fold_tag_ty(@ty.t typ) -> @ty.t { ret typ; }
     }
 
     fn hash_int(&int x) -> uint { ret x as uint; }