Make rustdoc Item::visibility computed on-demand
This commit is contained in:
parent
fab0432952
commit
5515e2c2a1
11 changed files with 144 additions and 145 deletions
|
@ -747,11 +747,12 @@ fn assoc_const(
|
|||
extra: &str,
|
||||
cx: &Context<'_>,
|
||||
) {
|
||||
let tcx = cx.tcx();
|
||||
write!(
|
||||
w,
|
||||
"{extra}{vis}const <a{href} class=\"constant\">{name}</a>: {ty}",
|
||||
extra = extra,
|
||||
vis = it.visibility.print_with_space(it.item_id, cx),
|
||||
vis = it.visibility(tcx).print_with_space(it.item_id, cx),
|
||||
href = assoc_href_attr(it, link, cx),
|
||||
name = it.name.as_ref().unwrap(),
|
||||
ty = ty.print(cx),
|
||||
|
@ -764,7 +765,7 @@ fn assoc_const(
|
|||
// This hurts readability in this context especially when more complex expressions
|
||||
// are involved and it doesn't add much of value.
|
||||
// Find a way to print constants here without all that jazz.
|
||||
write!(w, "{}", Escape(&default.value(cx.tcx()).unwrap_or_else(|| default.expr(cx.tcx()))));
|
||||
write!(w, "{}", Escape(&default.value(tcx).unwrap_or_else(|| default.expr(tcx))));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -805,14 +806,15 @@ fn assoc_method(
|
|||
cx: &Context<'_>,
|
||||
render_mode: RenderMode,
|
||||
) {
|
||||
let header = meth.fn_header(cx.tcx()).expect("Trying to get header from a non-function item");
|
||||
let tcx = cx.tcx();
|
||||
let header = meth.fn_header(tcx).expect("Trying to get header from a non-function item");
|
||||
let name = meth.name.as_ref().unwrap();
|
||||
let vis = meth.visibility.print_with_space(meth.item_id, cx).to_string();
|
||||
let vis = meth.visibility(tcx).print_with_space(meth.item_id, cx).to_string();
|
||||
// FIXME: Once https://github.com/rust-lang/rust/issues/67792 is implemented, we can remove
|
||||
// this condition.
|
||||
let constness = match render_mode {
|
||||
RenderMode::Normal => {
|
||||
print_constness_with_space(&header.constness, meth.const_stability(cx.tcx()))
|
||||
print_constness_with_space(&header.constness, meth.const_stability(tcx))
|
||||
}
|
||||
RenderMode::ForDeref { .. } => "",
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue