diff options
Diffstat (limited to 'src/rustdoc/sort_pass.rs')
| -rw-r--r-- | src/rustdoc/sort_pass.rs | 15 |
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"; } |
