Skip to content

Commit 8553c19

Browse files
Put back display of associated items (types and consts)
1 parent 4a6547c commit 8553c19

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

src/librustdoc/html/render/mod.rs

+24-7
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,9 @@ fn render_impls(
714714
None,
715715
false,
716716
true,
717+
true,
717718
&[],
719+
true,
718720
);
719721
buffer.into_inner()
720722
})
@@ -1053,7 +1055,9 @@ fn render_assoc_items(
10531055
None,
10541056
false,
10551057
true,
1058+
true,
10561059
&[],
1060+
true,
10571061
);
10581062
}
10591063
}
@@ -1254,9 +1258,12 @@ fn render_impl(
12541258
use_absolute: Option<bool>,
12551259
is_on_foreign_type: bool,
12561260
show_default_items: bool,
1261+
// It'll exclude methods.
1262+
show_non_assoc_items: bool,
12571263
// This argument is used to reference same type with different paths to avoid duplication
12581264
// in documentation pages for trait with automatic implementations like "Send" and "Sync".
12591265
aliases: &[String],
1266+
toggle_open_by_default: bool,
12601267
) {
12611268
let cache = cx.cache();
12621269
let traits = &cache.traits;
@@ -1280,16 +1287,18 @@ fn render_impl(
12801287
is_default_item: bool,
12811288
trait_: Option<&clean::Trait>,
12821289
show_def_docs: bool,
1290+
show_non_assoc_items: bool,
12831291
) {
12841292
let item_type = item.type_();
12851293
let name = item.name.as_ref().unwrap();
12861294

1287-
let render_method_item = match render_mode {
1288-
RenderMode::Normal => true,
1289-
RenderMode::ForDeref { mut_: deref_mut_ } => {
1290-
should_render_item(&item, deref_mut_, cx.cache())
1291-
}
1292-
};
1295+
let render_method_item = show_non_assoc_items
1296+
&& match render_mode {
1297+
RenderMode::Normal => true,
1298+
RenderMode::ForDeref { mut_: deref_mut_ } => {
1299+
should_render_item(&item, deref_mut_, cx.cache())
1300+
}
1301+
};
12931302

12941303
let in_trait_class = if trait_.is_some() { " trait-impl" } else { "" };
12951304

@@ -1456,6 +1465,7 @@ fn render_impl(
14561465
false,
14571466
trait_.map(|t| &t.trait_),
14581467
show_def_docs,
1468+
show_non_assoc_items,
14591469
);
14601470
}
14611471

@@ -1469,6 +1479,7 @@ fn render_impl(
14691479
containing_item: &clean::Item,
14701480
render_mode: RenderMode,
14711481
show_def_docs: bool,
1482+
show_non_assoc_items: bool,
14721483
) {
14731484
for trait_item in &t.items {
14741485
let n = trait_item.name;
@@ -1491,6 +1502,7 @@ fn render_impl(
14911502
true,
14921503
Some(t),
14931504
show_def_docs,
1505+
show_non_assoc_items,
14941506
);
14951507
}
14961508
}
@@ -1511,14 +1523,19 @@ fn render_impl(
15111523
parent,
15121524
render_mode,
15131525
show_def_docs,
1526+
show_non_assoc_items,
15141527
);
15151528
}
15161529
}
15171530
if render_mode == RenderMode::Normal {
15181531
let toggled = !(impl_items.is_empty() && default_impl_items.is_empty());
15191532
if toggled {
15201533
close_tags.insert_str(0, "</details>");
1521-
write!(w, "<details class=\"rustdoc-toggle implementors-toggle\" open>");
1534+
write!(
1535+
w,
1536+
"<details class=\"rustdoc-toggle implementors-toggle\"{}>",
1537+
if toggle_open_by_default { " open" } else { "" }
1538+
);
15221539
write!(w, "<summary>")
15231540
}
15241541
render_impl_summary(

src/librustdoc/html/render/print_item.rs

+9-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ use rustc_span::symbol::{kw, sym, Symbol};
1616
use super::{
1717
collect_paths_for_type, document, ensure_trailing_slash, item_ty_to_strs, notable_traits_decl,
1818
render_assoc_item, render_assoc_items, render_attributes_in_code, render_attributes_in_pre,
19-
render_impl, render_impl_summary, render_stability_since_raw, write_srclink, AssocItemLink,
20-
Context,
19+
render_impl, render_stability_since_raw, write_srclink, AssocItemLink, Context,
2120
};
2221
use crate::clean::{self, GetDefId};
2322
use crate::formats::item_type::ItemType;
@@ -740,7 +739,9 @@ fn item_trait(w: &mut Buffer, cx: &Context<'_>, it: &clean::Item, t: &clean::Tra
740739
None,
741740
true,
742741
false,
742+
true,
743743
&[],
744+
false,
744745
);
745746
}
746747
}
@@ -1388,16 +1389,20 @@ fn render_implementor(
13881389
} => implementor_dups[&path.last()].1,
13891390
_ => false,
13901391
};
1391-
render_impl_summary(
1392+
render_impl(
13921393
w,
13931394
cx,
13941395
implementor,
13951396
trait_,
1396-
trait_,
1397+
AssocItemLink::Anchor(None),
1398+
RenderMode::Normal,
13971399
false,
13981400
Some(use_absolute),
13991401
false,
1402+
false,
1403+
false,
14001404
aliases,
1405+
false,
14011406
);
14021407
}
14031408

0 commit comments

Comments
 (0)