diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2010-07-02 12:03:46 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2010-07-02 12:03:46 -0700 |
| commit | 41fa7a404eeb0ea786b6bd76f35860784fbcb4be (patch) | |
| tree | e72da0c716e2ee0095c15cf2dbf55e2f683658a1 /src | |
| parent | 285a4735b9565cc75cabd02f7b9c89aa8a70657e (diff) | |
| parent | a3431335118a00130de16857dc3d5e6d0c90c074 (diff) | |
| download | rust-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.ml | 14 | ||||
| -rw-r--r-- | src/lib/util.rs | 26 |
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; } |
