diff --git a/src/rustdoc/attr_pass.rs b/src/rustdoc/attr_pass.rs index f8dac77c997..de6f36e75ec 100644 --- a/src/rustdoc/attr_pass.rs +++ b/src/rustdoc/attr_pass.rs @@ -44,10 +44,10 @@ fn fold_crate( attr_parser::parse_crate(attrs) }; - ~{ - topmod: ~{ + { + topmod: { name: option::from_maybe(doc.topmod.name, attrs.name) - with *doc.topmod + with doc.topmod } } } @@ -91,10 +91,10 @@ fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { doc: doc::moddoc, attrs: attr_parser::mod_attrs ) -> doc::moddoc { - ~{ + { brief: attrs.brief, desc: attrs.desc - with *doc + with doc } } } @@ -133,13 +133,13 @@ fn fold_fn( doc: doc::fndoc, attrs: attr_parser::fn_attrs ) -> doc::fndoc { - ret ~{ + ret { brief: attrs.brief, desc: attrs.desc, args: merge_arg_attrs(doc.args, attrs.args), return: merge_ret_attrs(doc.return, attrs.return), failure: attrs.failure - with *doc + with doc }; } @@ -152,9 +152,9 @@ fn fold_fn( attr.name == doc.name } { some(attr) { - ~{ + { desc: some(attr.desc) - with *doc + with doc } } none { doc } @@ -233,10 +233,10 @@ fn fold_const( let srv = fold.ctxt; let attrs = parse_item_attrs(srv, doc.id, attr_parser::parse_const); - ~{ + { brief: attrs.brief, desc: attrs.desc - with *doc + with doc } } @@ -259,7 +259,7 @@ fn fold_enum( let srv = fold.ctxt; let attrs = parse_item_attrs(srv, doc.id, attr_parser::parse_enum); - ~{ + { brief: attrs.brief, desc: attrs.desc, variants: vec::map(doc.variants) {|variant| @@ -278,12 +278,12 @@ fn fold_enum( } }; - ~{ + { desc: attrs.desc - with *variant + with variant } } - with *doc + with doc } } @@ -317,7 +317,7 @@ fn fold_res( let srv = fold.ctxt; let attrs = parse_item_attrs(srv, doc.id, attr_parser::parse_fn); - ~{ + { brief: attrs.brief, desc: attrs.desc, args: vec::map(doc.args) {|doc| @@ -325,15 +325,15 @@ fn fold_res( attr.name == doc.name } { some(attr) { - ~{ + { desc: some(attr.desc) - with *doc + with doc } } none { doc } } } - with *doc + with doc } } diff --git a/src/rustdoc/desc_pass.rs b/src/rustdoc/desc_pass.rs index 2e5cf259835..488432718e3 100644 --- a/src/rustdoc/desc_pass.rs +++ b/src/rustdoc/desc_pass.rs @@ -33,33 +33,33 @@ fn maybe_apply_op(op: op, s: option) -> option { fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { let doc = fold::default_seq_fold_mod(fold, doc); - ~{ + { brief: maybe_apply_op(fold.ctxt, doc.brief), desc: maybe_apply_op(fold.ctxt, doc.desc) - with *doc + with doc } } fn fold_const(fold: fold::fold, doc: doc::constdoc) -> doc::constdoc { let doc = fold::default_seq_fold_const(fold, doc); - ~{ + { brief: maybe_apply_op(fold.ctxt, doc.brief), desc: maybe_apply_op(fold.ctxt, doc.desc) - with *doc + with doc } } fn fold_fn(fold: fold::fold, doc: doc::fndoc) -> doc::fndoc { let doc = fold::default_seq_fold_fn(fold, doc); - ~{ + { brief: maybe_apply_op(fold.ctxt, doc.brief), desc: maybe_apply_op(fold.ctxt, doc.desc), args: vec::map(doc.args) {|doc| - ~{ + { desc: maybe_apply_op(fold.ctxt, doc.desc) - with *doc + with doc } }, return: { @@ -67,35 +67,35 @@ fn fold_fn(fold: fold::fold, doc: doc::fndoc) -> doc::fndoc { with doc.return }, failure: maybe_apply_op(fold.ctxt, doc.failure) - with *doc + with doc } } fn fold_enum(fold: fold::fold, doc: doc::enumdoc) -> doc::enumdoc { - ~{ + { brief: maybe_apply_op(fold.ctxt, doc.brief), desc: maybe_apply_op(fold.ctxt, doc.desc), variants: vec::map(doc.variants) {|variant| - ~{ + { desc: maybe_apply_op(fold.ctxt, variant.desc) - with *variant + with variant } } - with *doc + with doc } } fn fold_res(fold: fold::fold, doc: doc::resdoc) -> doc::resdoc { - ~{ + { brief: maybe_apply_op(fold.ctxt, doc.brief), desc: maybe_apply_op(fold.ctxt, doc.desc), args: vec::map(doc.args) {|arg| - ~{ + { desc: maybe_apply_op(fold.ctxt, arg.desc) - with *arg + with arg } } - with *doc + with doc } } diff --git a/src/rustdoc/desc_to_brief_pass.rs b/src/rustdoc/desc_to_brief_pass.rs index fb2f1134ae9..21d52736c96 100644 --- a/src/rustdoc/desc_to_brief_pass.rs +++ b/src/rustdoc/desc_to_brief_pass.rs @@ -32,10 +32,10 @@ fn fold_mod(fold: fold::fold<()>, doc: doc::moddoc) -> doc::moddoc { let doc = fold::default_seq_fold_mod(fold, doc); let (brief, desc) = modify(doc.brief, doc.desc); - ~{ + { brief: brief, desc: desc - with *doc + with doc } } @@ -43,10 +43,10 @@ fn fold_const(fold: fold::fold<()>, doc: doc::constdoc) -> doc::constdoc { let doc = fold::default_seq_fold_const(fold, doc); let (brief, desc) = modify(doc.brief, doc.desc); - ~{ + { brief: brief, desc: desc - with *doc + with doc } } @@ -54,10 +54,10 @@ fn fold_fn(fold: fold::fold<()>, doc: doc::fndoc) -> doc::fndoc { let doc = fold::default_seq_fold_fn(fold, doc); let (brief, desc) = modify(doc.brief, doc.desc); - ~{ + { brief: brief, desc: desc - with *doc + with doc } } @@ -65,10 +65,10 @@ fn fold_enum(fold: fold::fold<()>, doc: doc::enumdoc) -> doc::enumdoc { let doc = fold::default_seq_fold_enum(fold, doc); let (brief, desc) = modify(doc.brief, doc.desc); - ~{ + { brief: brief, desc: desc - with *doc + with doc } } @@ -76,10 +76,10 @@ fn fold_res(fold: fold::fold<()>, doc: doc::resdoc) -> doc::resdoc { let doc = fold::default_seq_fold_res(fold, doc); let (brief, desc) = modify(doc.brief, doc.desc); - ~{ + { brief: brief, desc: desc - with *doc + with doc } } diff --git a/src/rustdoc/doc.rs b/src/rustdoc/doc.rs index f1350733a1e..a171bbc36d1 100644 --- a/src/rustdoc/doc.rs +++ b/src/rustdoc/doc.rs @@ -2,7 +2,7 @@ type ast_id = int; -type cratedoc = ~{ +type cratedoc = { topmod: moddoc, }; @@ -14,16 +14,17 @@ enum itemtag { restag(resdoc) } -type moddoc = ~{ +type moddoc = { id: ast_id, name: str, path: [str], brief: option, desc: option, - items: [itemtag] + // This box exists to break the structural recursion + items: ~[itemtag] }; -type constdoc = ~{ +type constdoc = { id: ast_id, name: str, brief: option, @@ -31,7 +32,7 @@ type constdoc = ~{ ty: option }; -type fndoc = ~{ +type fndoc = { id: ast_id, name: str, brief: option, @@ -42,7 +43,7 @@ type fndoc = ~{ sig: option }; -type argdoc = ~{ +type argdoc = { name: str, desc: option, ty: option @@ -53,7 +54,7 @@ type retdoc = { ty: option }; -type enumdoc = ~{ +type enumdoc = { id: ast_id, name: str, brief: option, @@ -61,13 +62,13 @@ type enumdoc = ~{ variants: [variantdoc] }; -type variantdoc = ~{ +type variantdoc = { name: str, desc: option, sig: option }; -type resdoc = ~{ +type resdoc = { id: ast_id, name: str, brief: option, @@ -79,7 +80,7 @@ type resdoc = ~{ impl util for moddoc { fn mods() -> [moddoc] { - vec::filter_map(self.items) {|itemtag| + vec::filter_map(*self.items) {|itemtag| alt itemtag { modtag(moddoc) { some(moddoc) } _ { none } @@ -88,7 +89,7 @@ impl util for moddoc { } fn fns() -> [fndoc] { - vec::filter_map(self.items) {|itemtag| + vec::filter_map(*self.items) {|itemtag| alt itemtag { fntag(fndoc) { some(fndoc) } _ { none } @@ -97,7 +98,7 @@ impl util for moddoc { } fn consts() -> [constdoc] { - vec::filter_map(self.items) {|itemtag| + vec::filter_map(*self.items) {|itemtag| alt itemtag { consttag(constdoc) { some(constdoc) } _ { none } @@ -106,7 +107,7 @@ impl util for moddoc { } fn enums() -> [enumdoc] { - vec::filter_map(self.items) {|itemtag| + vec::filter_map(*self.items) {|itemtag| alt itemtag { enumtag(enumdoc) { some(enumdoc) } _ { none } @@ -115,7 +116,7 @@ impl util for moddoc { } fn resources() -> [resdoc] { - vec::filter_map(self.items) {|itemtag| + vec::filter_map(*self.items) {|itemtag| alt itemtag { restag(resdoc) { some(resdoc) } _ { none } @@ -127,11 +128,11 @@ impl util for moddoc { impl util for itemtag { fn name() -> str { alt self { - doc::modtag(~{name, _}) { name } - doc::fntag(~{name, _}) { name } - doc::consttag(~{name, _}) { name } - doc::enumtag(~{name, _}) { name } - doc::restag(~{name, _}) { name } + doc::modtag({name, _}) { name } + doc::fntag({name, _}) { name } + doc::consttag({name, _}) { name } + doc::enumtag({name, _}) { name } + doc::restag({name, _}) { name } } } } diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index bfef0bf0b2e..d992bc32cd5 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -20,7 +20,7 @@ fn extract( crate: @ast::crate, default_name: str ) -> doc::cratedoc { - ~{ + { topmod: top_moddoc_from_crate(crate, default_name), } } @@ -37,13 +37,13 @@ fn moddoc_from_mod( name: ast::ident, id: ast::node_id ) -> doc::moddoc { - ~{ + { id: id, name: name, path: [], brief: none, desc: none, - items: vec::filter_map(module.items) {|item| + items: ~vec::filter_map(module.items) {|item| alt item.node { ast::item_mod(m) { some(doc::modtag( @@ -83,7 +83,7 @@ fn fndoc_from_fn( name: ast::ident, id: ast::node_id ) -> doc::fndoc { - ~{ + { id: id, name: name, brief: none, @@ -113,7 +113,7 @@ fn argdocs_from_args(args: [ast::arg]) -> [doc::argdoc] { } fn argdoc_from_arg(arg: ast::arg) -> doc::argdoc { - ~{ + { name: arg.ident, desc: none, ty: none @@ -124,7 +124,7 @@ fn constdoc_from_const( name: ast::ident, id: ast::node_id ) -> doc::constdoc { - ~{ + { id: id, name: name, brief: none, @@ -147,7 +147,7 @@ fn enumdoc_from_enum( id: ast::node_id, variants: [ast::variant] ) -> doc::enumdoc { - ~{ + { id: id, name: name, brief: none, @@ -163,7 +163,7 @@ fn variantdocs_from_variants( } fn variantdoc_from_variant(variant: ast::variant) -> doc::variantdoc { - ~{ + { name: variant.node.name, desc: none, sig: none @@ -192,7 +192,7 @@ fn resdoc_from_resource( name: str, id: ast::node_id ) -> doc::resdoc { - ~{ + { id: id, name: name, brief: none, diff --git a/src/rustdoc/fold.rs b/src/rustdoc/fold.rs index 49cc5476609..0516a753ff3 100644 --- a/src/rustdoc/fold.rs +++ b/src/rustdoc/fold.rs @@ -69,7 +69,7 @@ fn default_seq_fold_crate( fold: fold, doc: doc::cratedoc ) -> doc::cratedoc { - ~{ + { topmod: fold.fold_mod(fold, doc.topmod) } } @@ -78,8 +78,8 @@ fn default_seq_fold_mod( fold: fold, doc: doc::moddoc ) -> doc::moddoc { - ~{ - items: vec::map(doc.items) {|itemtag| + { + items: ~vec::map(*doc.items) {|itemtag| alt itemtag { doc::modtag(moddoc) { doc::modtag(fold.fold_mod(fold, moddoc)) @@ -98,7 +98,7 @@ fn default_seq_fold_mod( } } } - with *doc + with doc } } diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs index a67e43525a4..9ee9533af16 100644 --- a/src/rustdoc/markdown_pass.rs +++ b/src/rustdoc/markdown_pass.rs @@ -130,7 +130,7 @@ fn write_mod_contents( write_brief(ctxt, doc.brief); write_desc(ctxt, doc.desc); - for itemtag in doc.items { + for itemtag in *doc.items { alt itemtag { doc::modtag(moddoc) { write_mod(ctxt, moddoc) } doc::fntag(fndoc) { write_fn(ctxt, fndoc) } @@ -203,15 +203,15 @@ fn should_insert_blank_line_after_fn_signature() { #[test] fn should_correctly_indent_fn_signature() { let doc = test::create_doc("fn a() { }"); - let doc = ~{ - topmod: ~{ - items: [doc::fntag(~{ + let doc = { + topmod: { + items: ~[doc::fntag({ sig: some("line 1\nline 2") - with *doc.topmod.fns()[0] + with doc.topmod.fns()[0] })] - with *doc.topmod + with doc.topmod } - with *doc + with doc }; let markdown = test::write_markdown_str(doc); assert str::contains(markdown, " line 1\n line 2"); diff --git a/src/rustdoc/path_pass.rs b/src/rustdoc/path_pass.rs index 729b572a139..0da88fbac42 100644 --- a/src/rustdoc/path_pass.rs +++ b/src/rustdoc/path_pass.rs @@ -32,9 +32,9 @@ fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { if !is_topmod { vec::push(fold.ctxt.path, doc.name); } let doc = fold::default_seq_fold_mod(fold, doc); if !is_topmod { vec::pop(fold.ctxt.path); } - ~{ + { path: fold.ctxt.path - with *doc + with doc } } diff --git a/src/rustdoc/prune_undoc_pass.rs b/src/rustdoc/prune_undoc_pass.rs index a5ffd4408a9..41464592a75 100644 --- a/src/rustdoc/prune_undoc_pass.rs +++ b/src/rustdoc/prune_undoc_pass.rs @@ -32,8 +32,8 @@ fn fold_mod( fold: fold::fold, doc: doc::moddoc ) -> doc::moddoc { - let doc = ~{ - items: vec::filter_map(doc.items) {|itemtag| + let doc = { + items: ~vec::filter_map(*doc.items) {|itemtag| alt itemtag { doc::modtag(moddoc) { let doc = fold.fold_mod(fold, moddoc); @@ -78,12 +78,12 @@ fn fold_mod( _ { some(itemtag) } } } - with *fold::default_seq_fold_mod(fold, doc) + with fold::default_seq_fold_mod(fold, doc) }; fold.ctxt.have_docs = doc.brief != none || doc.desc != none - || vec::is_not_empty(doc.items); + || vec::is_not_empty(*doc.items); ret doc; } @@ -92,7 +92,7 @@ fn fold_fn( doc: doc::fndoc ) -> doc::fndoc { let have_arg_docs = false; - let doc = ~{ + let doc = { args: vec::filter_map(doc.args) {|doc| if option::is_some(doc.desc) { have_arg_docs = true; @@ -109,7 +109,7 @@ fn fold_fn( } with doc.return } - with *doc + with doc }; fold.ctxt.have_docs = @@ -221,7 +221,7 @@ fn should_elide_undocumented_consts() { } fn fold_enum(fold: fold::fold, doc: doc::enumdoc) -> doc::enumdoc { - let doc = ~{ + let doc = { variants: vec::filter_map(doc.variants) {|variant| if variant.desc != none { some(variant) @@ -229,7 +229,7 @@ fn fold_enum(fold: fold::fold, doc: doc::enumdoc) -> doc::enumdoc { none } } - with *fold::default_seq_fold_enum(fold, doc) + with fold::default_seq_fold_enum(fold, doc) }; fold.ctxt.have_docs = doc.brief != none @@ -269,7 +269,7 @@ fn should_not_elide_enums_with_documented_variants() { } fn fold_res(fold: fold::fold, doc: doc::resdoc) -> doc::resdoc { - let doc = ~{ + let doc = { args: vec::filter_map(doc.args) {|arg| if arg.desc != none { some(arg) @@ -277,7 +277,7 @@ fn fold_res(fold: fold::fold, doc: doc::resdoc) -> doc::resdoc { none } } - with *fold::default_seq_fold_res(fold, doc) + with fold::default_seq_fold_res(fold, doc) }; fold.ctxt.have_docs = doc.brief != none diff --git a/src/rustdoc/prune_unexported_pass.rs b/src/rustdoc/prune_unexported_pass.rs index 4c2e812d5f4..be999fc592c 100644 --- a/src/rustdoc/prune_unexported_pass.rs +++ b/src/rustdoc/prune_unexported_pass.rs @@ -20,9 +20,9 @@ fn run(srv: astsrv::srv, doc: doc::cratedoc) -> doc::cratedoc { fn fold_mod(fold: fold::fold, doc: doc::moddoc) -> doc::moddoc { let doc = fold::default_seq_fold_mod(fold, doc); - ~{ - items: exported_items(fold.ctxt, doc) - with *doc + { + items: ~exported_items(fold.ctxt, doc) + with doc } } @@ -66,13 +66,13 @@ fn exported_items_from( doc: doc::moddoc, is_exported: fn(astsrv::srv, str) -> bool ) -> [doc::itemtag] { - vec::filter_map(doc.items) { |itemtag| + vec::filter_map(*doc.items) { |itemtag| let itemtag = alt itemtag { doc::enumtag(enumdoc) { // Also need to check variant exportedness - doc::enumtag(~{ + doc::enumtag({ variants: exported_variants_from(srv, enumdoc, is_exported) - with *enumdoc + with enumdoc }) } _ { itemtag } diff --git a/src/rustdoc/rustdoc.rs b/src/rustdoc/rustdoc.rs index a27cd674863..d309bf56ab6 100755 --- a/src/rustdoc/rustdoc.rs +++ b/src/rustdoc/rustdoc.rs @@ -44,14 +44,14 @@ fn test_run_passes() { _srv: astsrv::srv, doc: doc::cratedoc ) -> doc::cratedoc { - ~{ - topmod: ~{ + { + topmod: { id: 0, name: doc.topmod.name + "two", path: [], brief: none, desc: none, - items: [] + items: ~[] } } } @@ -59,14 +59,14 @@ fn test_run_passes() { _srv: astsrv::srv, doc: doc::cratedoc ) -> doc::cratedoc { - ~{ - topmod: ~{ + { + topmod: { id: 0, name: doc.topmod.name + "three", path: [], brief: none, desc: none, - items: [] + items: ~[] } } } diff --git a/src/rustdoc/sort_pass.rs b/src/rustdoc/sort_pass.rs index 27d0bc11423..01432869ea6 100644 --- a/src/rustdoc/sort_pass.rs +++ b/src/rustdoc/sort_pass.rs @@ -29,9 +29,9 @@ fn fold_mod( doc: doc::moddoc ) -> doc::moddoc { let doc = fold::default_seq_fold_mod(fold, doc); - ~{ - items: sort::merge_sort(fold.ctxt, doc.items) - with *doc + { + items: ~sort::merge_sort(fold.ctxt, *doc.items) + with doc } } diff --git a/src/rustdoc/tystr_pass.rs b/src/rustdoc/tystr_pass.rs index 3df670fa7ab..19b6d5c441b 100644 --- a/src/rustdoc/tystr_pass.rs +++ b/src/rustdoc/tystr_pass.rs @@ -32,11 +32,11 @@ fn fold_fn( let srv = fold.ctxt; - ~{ + { args: merge_arg_tys(srv, doc.id, doc.args), return: merge_ret_ty(srv, doc.id, doc.return), sig: get_fn_sig(srv, doc.id) - with *doc + with doc } } @@ -122,9 +122,9 @@ fn merge_arg_tys( vec::map2(args, tys) {|arg, ty| // Sanity check that we're talking about the same args assert arg.name == tuple::first(ty); - ~{ + { ty: some(tuple::second(ty)) - with *arg + with arg } } } @@ -163,7 +163,7 @@ fn fold_const( ) -> doc::constdoc { let srv = fold.ctxt; - ~{ + { ty: some(astsrv::exec(srv) {|ctxt| alt ctxt.ast_map.get(doc.id) { ast_map::node_item(@{ @@ -173,7 +173,7 @@ fn fold_const( } } }) - with *doc + with doc } } @@ -192,7 +192,7 @@ fn fold_enum( ) -> doc::enumdoc { let srv = fold.ctxt; - ~{ + { variants: vec::map(doc.variants) {|variant| let sig = astsrv::exec(srv) {|ctxt| alt ctxt.ast_map.get(doc.id) { @@ -209,12 +209,12 @@ fn fold_enum( } }; - ~{ + { sig: some(sig) - with *variant + with variant } } - with *doc + with doc } } @@ -233,7 +233,7 @@ fn fold_res( ) -> doc::resdoc { let srv = fold.ctxt; - ~{ + { args: merge_arg_tys(srv, doc.id, doc.args), sig: some(astsrv::exec(srv) {|ctxt| alt ctxt.ast_map.get(doc.id) { @@ -244,7 +244,7 @@ fn fold_res( } } }) - with *doc + with doc } }