diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2014-12-24 22:34:57 +1300 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2014-12-26 10:54:24 +1300 |
| commit | c4640a2a6933f707a998161ccbbd8c7d6f8eb3dd (patch) | |
| tree | b43b746e1898878337bf4ec03e2525dae8520303 /src/libsyntax/print | |
| parent | 4688aadfde7fa84d5a6cffbcfb309a653ae24441 (diff) | |
| download | rust-c4640a2a6933f707a998161ccbbd8c7d6f8eb3dd.tar.gz rust-c4640a2a6933f707a998161ccbbd8c7d6f8eb3dd.zip | |
Changes to RustDoc
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 7713a0f23d1..1d3dc42cf08 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -965,13 +965,18 @@ impl<'a> State<'a> { try!(self.word_nbsp("trait")); try!(self.print_ident(item.ident)); try!(self.print_generics(generics)); - // TODO find and print the unbound, remove it from bounds - /*if let &Some(ref tref) = unbound { - try!(space(&mut self.s)); - try!(self.word_space("for ?")); - try!(self.print_trait_ref(tref)); - }*/ - try!(self.print_bounds(":", bounds[])); + let bounds: Vec<_> = bounds.iter().map(|b| b.clone()).collect(); + let mut real_bounds = Vec::with_capacity(bounds.len()); + for b in bounds.into_iter() { + if let TraitTyParamBound(ref ptr, ast::TraitBoundModifier::Maybe) = b { + try!(space(&mut self.s)); + try!(self.word_space("for ?")); + try!(self.print_trait_ref(&ptr.trait_ref)); + } else { + real_bounds.push(b); + } + } + try!(self.print_bounds(":", real_bounds[])); try!(self.print_where_clause(generics)); try!(word(&mut self.s, " ")); try!(self.bopen()); |
