about summary refs log tree commit diff
path: root/src/rustdoc/markdown_pass.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-07-18 09:31:53 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-07-18 16:05:17 -0700
commit3ac5b4a86fa37d2b2c17ef5ffdb6e521630ea4ac (patch)
tree0613184ab1f468f2a1b776c1d4c6df4ac15d69db /src/rustdoc/markdown_pass.rs
parent1528256fdc26199dd58b390e42e2d0dc53b9703d (diff)
downloadrust-3ac5b4a86fa37d2b2c17ef5ffdb6e521630ea4ac.tar.gz
rust-3ac5b4a86fa37d2b2c17ef5ffdb6e521630ea4ac.zip
syntax: Parse multiple trait refs in a single implementation
Diffstat (limited to 'src/rustdoc/markdown_pass.rs')
-rw-r--r--src/rustdoc/markdown_pass.rs16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/rustdoc/markdown_pass.rs b/src/rustdoc/markdown_pass.rs
index f3962f2a30e..b04210f4d31 100644
--- a/src/rustdoc/markdown_pass.rs
+++ b/src/rustdoc/markdown_pass.rs
@@ -224,14 +224,16 @@ fn header_name(doc: doc::itemtag) -> ~str {
       doc::impltag(doc) {
         assert option::is_some(doc.self_ty);
         let self_ty = option::get(doc.self_ty);
-        alt doc.trait_ty {
-          some(trait_ty) {
-            #fmt("%s of %s for %s", doc.name(), trait_ty, self_ty)
-          }
-          none {
-            #fmt("%s for %s", doc.name(), self_ty)
-          }
+        let mut trait_part = ~"";
+        for doc.trait_types.eachi |i, trait_type| {
+            if i == 0 {
+                trait_part += ~" of ";
+            } else {
+                trait_part += ", ";
+            }
+            trait_part += trait_type;
         }
+        #fmt("%s%s for %s", doc.name(), trait_part, self_ty)
       }
       _ {
         doc.name()