about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2010-07-02 12:03:46 -0700
committerGraydon Hoare <graydon@mozilla.com>2010-07-02 12:03:46 -0700
commit41fa7a404eeb0ea786b6bd76f35860784fbcb4be (patch)
treee72da0c716e2ee0095c15cf2dbf55e2f683658a1 /src
parent285a4735b9565cc75cabd02f7b9c89aa8a70657e (diff)
parenta3431335118a00130de16857dc3d5e6d0c90c074 (diff)
downloadrust-41fa7a404eeb0ea786b6bd76f35860784fbcb4be.tar.gz
rust-41fa7a404eeb0ea786b6bd76f35860784fbcb4be.zip
Merge branch 'exterior_and_mutable_types' of git@github.com:graydon/rust into exterior_and_mutable_types
Diffstat (limited to 'src')
-rw-r--r--src/boot/fe/ast.ml14
-rw-r--r--src/lib/util.rs26
2 files changed, 9 insertions, 31 deletions
diff --git a/src/boot/fe/ast.ml b/src/boot/fe/ast.ml
index 32eed2c14e9..92aad667d01 100644
--- a/src/boot/fe/ast.ml
+++ b/src/boot/fe/ast.ml
@@ -1180,6 +1180,13 @@ and fmt_stmt_body (ff:Format.formatter) (s:stmt) : unit =
       | STMT_slice _ -> fmt ff "?stmt_slice?"
   end
 
+and fmt_decl_param (ff:Format.formatter) (param:ty_param) : unit =
+  let (ident, (i, e)) = param in
+  fmt_effect ff e;
+  if e <> PURE then fmt ff " ";
+  fmt_ident ff ident;
+  fmt ff "=<p#%d>" i
+
 and fmt_decl_params (ff:Format.formatter) (params:ty_param array) : unit =
   if Array.length params = 0
   then ()
@@ -1190,11 +1197,7 @@ and fmt_decl_params (ff:Format.formatter) (params:ty_param array) : unit =
       do
         if i <> 0
         then fmt ff ", ";
-        let (ident, (i, e)) = params.(i) in
-          fmt_effect ff e;
-          if e <> PURE then fmt ff " ";
-          fmt_ident ff ident;
-          fmt ff "=<p#%d>" i
+        fmt_decl_param ff params.(i)
       done;
       fmt ff "]"
     end;
@@ -1350,6 +1353,7 @@ let sprintf_tag = sprintf_fmt fmt_tag;;
 let sprintf_carg = sprintf_fmt fmt_carg;;
 let sprintf_constr = sprintf_fmt fmt_constr;;
 let sprintf_mod_items = sprintf_fmt fmt_mod_items;;
+let sprintf_decl_param = sprintf_fmt fmt_decl_param;;
 let sprintf_decl_params = sprintf_fmt fmt_decl_params;;
 let sprintf_app_args = sprintf_fmt fmt_app_args;;
 
diff --git a/src/lib/util.rs b/src/lib/util.rs
index bf57bb52319..e0e52c8f93a 100644
--- a/src/lib/util.rs
+++ b/src/lib/util.rs
@@ -1,8 +1,4 @@
 type option[T] = tag(none(), some(T));
-type box[T] = tup(@T);
-type boxo[T] = option[box[T]];
-type boxm[T] = tup(mutable @T);
-type boxmo[T] = option[boxm[T]];
 
 type map[T, U] = fn(&T) -> U;
 
@@ -17,28 +13,6 @@ fn option_map[T, U](map[T, U] f, &option[T] opt) -> option[U] {
   }
 }
 
-fn unbox[T](&box[T] b) -> T {
-  ret b._0;
-}
-
-
-fn unboxm[T](&boxm[T] b) -> T {
-  ret b._0;
-}
-
-fn unboxo[T](boxo[T] b) -> option[T] {
-  // Pending issue #90, no need to alias the function item in order to pass
-  // it as an arg.
-  let map[box[T], T] f = unbox[T];
-  be option_map[box[T], T](f, b);
-}
-
-fn unboxmo[T](boxmo[T] b) -> option[T] {
-  // Issue #90, as above
-  let map[boxm[T], T] f = unboxm[T];
-  be option_map[boxm[T], T](f, b);
-}
-
 fn id[T](T x) -> T {
   ret x;
 }