about summary refs log tree commit diff
path: root/src/rustdoc/sort_pass.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-02-27 18:07:16 -0800
committerBrian Anderson <banderson@mozilla.com>2012-02-27 18:07:16 -0800
commit98c31aaaffcd98ab708acd095cc0202fa49ce2dd (patch)
treea2a7b18a6e47b964b30bc1ca0adddc401e5481ed /src/rustdoc/sort_pass.rs
parent7e9aa6c3c2ae054e32dfcc7c5e4830ce7c4c6921 (diff)
downloadrust-98c31aaaffcd98ab708acd095cc0202fa49ce2dd.tar.gz
rust-98c31aaaffcd98ab708acd095cc0202fa49ce2dd.zip
rustdoc: Time passes
Diffstat (limited to 'src/rustdoc/sort_pass.rs')
-rw-r--r--src/rustdoc/sort_pass.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/rustdoc/sort_pass.rs b/src/rustdoc/sort_pass.rs
index 0dcefe4bcbe..dbe7a7e19db 100644
--- a/src/rustdoc/sort_pass.rs
+++ b/src/rustdoc/sort_pass.rs
@@ -6,9 +6,12 @@ export item_lteq, mk_pass;
 
 type item_lteq = fn~(doc::itemtag, doc::itemtag) -> bool;
 
-fn mk_pass(lteq: item_lteq) -> pass {
-    fn~(srv: astsrv::srv, doc: doc::cratedoc) -> doc::cratedoc {
-        run(srv, doc, lteq)
+fn mk_pass(name: str, lteq: item_lteq) -> pass {
+    {
+        name: name,
+        f: fn~(srv: astsrv::srv, doc: doc::cratedoc) -> doc::cratedoc {
+            run(srv, doc, lteq)
+        }
     }
 }
 
@@ -44,7 +47,7 @@ fn test() {
     let source = "mod z { mod y { } fn x() { } } mod w { }";
     astsrv::from_str(source) {|srv|
         let doc = extract::from_srv(srv, "");
-        let doc = mk_pass(name_lteq)(srv, doc);
+        let doc = mk_pass("", name_lteq).f(srv, doc);
         assert doc.topmod.mods()[0].name() == "w";
         assert doc.topmod.mods()[1].items[0].name() == "x";
         assert doc.topmod.mods()[1].items[1].name() == "y";
@@ -61,10 +64,10 @@ fn should_be_stable() {
     let source = "mod a { mod b { } } mod c { mod d { } }";
     astsrv::from_str(source) {|srv|
         let doc = extract::from_srv(srv, "");
-        let doc = mk_pass(always_eq)(srv, doc);
+        let doc = mk_pass("", always_eq).f(srv, doc);
         assert doc.topmod.mods()[0].items[0].name() == "b";
         assert doc.topmod.mods()[1].items[0].name() == "d";
-        let doc = mk_pass(always_eq)(srv, doc);
+        let doc = mk_pass("", always_eq).f(srv, doc);
         assert doc.topmod.mods()[0].items[0].name() == "b";
         assert doc.topmod.mods()[1].items[0].name() == "d";
     }