Skip to content

Commit

Permalink
Fix attributes position in type declaration
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Apr 10, 2019
1 parent 2002b4b commit 825a11e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
9 changes: 3 additions & 6 deletions src/librustdoc/html/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3117,23 +3117,20 @@ fn item_trait(
// FIXME: we should be using a derived_id for the Anchors here
write!(w, "{{\n")?;
for t in &types {
write!(w, " ")?;
render_assoc_item(w, t, AssocItemLink::Anchor(None), ItemType::Trait)?;
write!(w, ";\n")?;
}
if !types.is_empty() && !consts.is_empty() {
w.write_str("\n")?;
}
for t in &consts {
write!(w, " ")?;
render_assoc_item(w, t, AssocItemLink::Anchor(None), ItemType::Trait)?;
write!(w, ";\n")?;
}
if !consts.is_empty() && !required.is_empty() {
w.write_str("\n")?;
}
for (pos, m) in required.iter().enumerate() {
write!(w, " ")?;
render_assoc_item(w, m, AssocItemLink::Anchor(None), ItemType::Trait)?;
write!(w, ";\n")?;

Expand All @@ -3145,7 +3142,6 @@ fn item_trait(
w.write_str("\n")?;
}
for (pos, m) in provided.iter().enumerate() {
write!(w, " ")?;
render_assoc_item(w, m, AssocItemLink::Anchor(None), ItemType::Trait)?;
match m.inner {
clean::MethodItem(ref inner) if !inner.generics.where_predicates.is_empty() => {
Expand Down Expand Up @@ -3454,8 +3450,9 @@ fn render_assoc_item(w: &mut fmt::Formatter<'_>,
(0, true)
};
render_attributes(w, meth)?;
write!(w, "{}{}{}{}{}{}fn <a href='{href}' class='fnname'>{name}</a>\
write!(w, "{}{}{}{}{}{}{}fn <a href='{href}' class='fnname'>{name}</a>\
{generics}{decl}{where_clause}",
if parent == ItemType::Trait { " " } else { "" },
VisSpace(&meth.visibility),
ConstnessSpace(header.constness),
UnsafetySpace(header.unsafety),
Expand Down Expand Up @@ -3755,7 +3752,7 @@ const ATTRIBUTE_WHITELIST: &'static [&'static str] = &[
"non_exhaustive"
];

fn render_attributes(w: &mut fmt::Formatter<'_>, it: &clean::Item) -> fmt::Result {
fn render_attributes(w: &mut dyn fmt::Write, it: &clean::Item) -> fmt::Result {
let mut attrs = String::new();

for attr in &it.attrs.other_attrs {
Expand Down
14 changes: 14 additions & 0 deletions src/librustdoc/html/static/rustdoc.css
Original file line number Diff line number Diff line change
Expand Up @@ -1577,3 +1577,17 @@ div.name.expand::before {
left: -15px;
top: 2px;
}

/* This part is to fix the "Expand attributes" part in the type declaration. */
.type-decl > pre > :first-child {
margin-left: 0 !important;
}
.type-decl > pre > :nth-child(2) {
margin-left: 1.8em !important;
}
.type-decl > pre > .toggle-attributes {
margin-left: 2.2em;
}
.type-decl > pre > .docblock.attributes {
margin-left: 4em;
}

0 comments on commit 825a11e

Please sign in to comment.