Skip to content

Commit

Permalink
Improve code by replacing &str with Symbol in render_stability_since_raw
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Nov 30, 2021
1 parent 0c1b0f7 commit b647c90
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 19 deletions.
8 changes: 4 additions & 4 deletions src/librustdoc/clean/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -602,16 +602,16 @@ impl Item {
})
}

crate fn stable_since(&self, tcx: TyCtxt<'_>) -> Option<SymbolStr> {
crate fn stable_since(&self, tcx: TyCtxt<'_>) -> Option<Symbol> {
match self.stability(tcx)?.level {
StabilityLevel::Stable { since, .. } => Some(since.as_str()),
StabilityLevel::Stable { since, .. } => Some(since),
StabilityLevel::Unstable { .. } => None,
}
}

crate fn const_stable_since(&self, tcx: TyCtxt<'_>) -> Option<SymbolStr> {
crate fn const_stable_since(&self, tcx: TyCtxt<'_>) -> Option<Symbol> {
match self.const_stability(tcx)?.level {
StabilityLevel::Stable { since, .. } => Some(since.as_str()),
StabilityLevel::Stable { since, .. } => Some(since),
StabilityLevel::Unstable { .. } => None,
}
}
Expand Down
18 changes: 7 additions & 11 deletions src/librustdoc/html/render/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -804,17 +804,17 @@ fn assoc_type(

fn render_stability_since_raw(
w: &mut Buffer,
ver: Option<&str>,
ver: Option<Symbol>,
const_stability: Option<&ConstStability>,
containing_ver: Option<&str>,
containing_const_ver: Option<&str>,
containing_ver: Option<Symbol>,
containing_const_ver: Option<Symbol>,
) {
let ver = ver.filter(|inner| !inner.is_empty());

match (ver, const_stability) {
// stable and const stable
(Some(v), Some(ConstStability { level: StabilityLevel::Stable { since }, .. }))
if Some(since.as_str()).as_deref() != containing_const_ver =>
if Some(*since) != containing_const_ver =>
{
write!(
w,
Expand Down Expand Up @@ -1651,23 +1651,19 @@ fn render_rightside(
) {
let tcx = cx.tcx();

let const_stable_since;
// FIXME: Once https://github.com/rust-lang/rust/issues/67792 is implemented, we can remove
// this condition.
let (const_stability, const_stable_since) = match render_mode {
RenderMode::Normal => {
const_stable_since = containing_item.const_stable_since(tcx);
(item.const_stability(tcx), const_stable_since.as_deref())
}
RenderMode::Normal => (item.const_stability(tcx), containing_item.const_stable_since(tcx)),
RenderMode::ForDeref { .. } => (None, None),
};

write!(w, "<div class=\"rightside\">");
render_stability_since_raw(
w,
item.stable_since(tcx).as_deref(),
item.stable_since(tcx),
const_stability,
containing_item.stable_since(tcx).as_deref(),
containing_item.stable_since(tcx),
const_stable_since,
);

Expand Down
8 changes: 4 additions & 4 deletions src/librustdoc/html/render/print_item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ pub(super) fn print_item(
let mut stability_since_raw = Buffer::new();
render_stability_since_raw(
&mut stability_since_raw,
item.stable_since(cx.tcx()).as_deref(),
item.stable_since(cx.tcx()),
item.const_stability(cx.tcx()),
None,
None,
Expand Down Expand Up @@ -1462,10 +1462,10 @@ fn render_stability_since(
) {
render_stability_since_raw(
w,
item.stable_since(tcx).as_deref(),
item.stable_since(tcx),
item.const_stability(tcx),
containing_item.stable_since(tcx).as_deref(),
containing_item.const_stable_since(tcx).as_deref(),
containing_item.stable_since(tcx),
containing_item.const_stable_since(tcx),
)
}

Expand Down

0 comments on commit b647c90

Please sign in to comment.