Rollup merge of #67152 - GuillaumeGomez:sort-auto-impls, r=kinnison
Sort auto trait and blanket implementations display Fixes #63042 r? @kinnison
This commit is contained in:
commit
071acdf88e
2 changed files with 28 additions and 6 deletions
|
@ -63,6 +63,13 @@ impl Buffer {
|
|||
}
|
||||
}
|
||||
|
||||
crate fn new() -> Buffer {
|
||||
Buffer {
|
||||
for_html: false,
|
||||
buffer: String::new(),
|
||||
}
|
||||
}
|
||||
|
||||
crate fn is_empty(&self) -> bool {
|
||||
self.buffer.is_empty()
|
||||
}
|
||||
|
@ -106,6 +113,10 @@ impl Buffer {
|
|||
write!(self, "{:#}", t);
|
||||
}
|
||||
}
|
||||
|
||||
crate fn is_for_html(&self) -> bool {
|
||||
self.for_html
|
||||
}
|
||||
}
|
||||
|
||||
/// Wrapper struct for properly emitting a function or method declaration.
|
||||
|
|
|
@ -2282,12 +2282,23 @@ fn render_implementor(cx: &Context, implementor: &Impl, w: &mut Buffer,
|
|||
fn render_impls(cx: &Context, w: &mut Buffer,
|
||||
traits: &[&&Impl],
|
||||
containing_item: &clean::Item) {
|
||||
for i in traits {
|
||||
let did = i.trait_did().unwrap();
|
||||
let assoc_link = AssocItemLink::GotoSource(did, &i.inner_impl().provided_trait_methods);
|
||||
render_impl(w, cx, i, assoc_link,
|
||||
RenderMode::Normal, containing_item.stable_since(), true, None, false, true);
|
||||
}
|
||||
let mut impls = traits.iter()
|
||||
.map(|i| {
|
||||
let did = i.trait_did().unwrap();
|
||||
let assoc_link = AssocItemLink::GotoSource(did, &i.inner_impl().provided_trait_methods);
|
||||
let mut buffer = if w.is_for_html() {
|
||||
Buffer::html()
|
||||
} else {
|
||||
Buffer::new()
|
||||
};
|
||||
render_impl(&mut buffer, cx, i, assoc_link,
|
||||
RenderMode::Normal, containing_item.stable_since(),
|
||||
true, None, false, true);
|
||||
buffer.into_inner()
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
impls.sort();
|
||||
w.write_str(&impls.join(""));
|
||||
}
|
||||
|
||||
fn bounds(t_bounds: &[clean::GenericBound], trait_alias: bool) -> String {
|
||||
|
|
Loading…
Add table
Reference in a new issue