Stop showing impl items for negative impls
This commit is contained in:
parent
6d69b2e408
commit
6a90be31b1
3 changed files with 27 additions and 19 deletions
|
@ -2446,6 +2446,10 @@ impl Impl {
|
||||||
.map(|did| tcx.provided_trait_methods(did).map(|meth| meth.name).collect())
|
.map(|did| tcx.provided_trait_methods(did).map(|meth| meth.name).collect())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) fn is_negative_trait_impl(&self) -> bool {
|
||||||
|
matches!(self.polarity, ty::ImplPolarity::Negative)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
|
|
|
@ -1285,9 +1285,8 @@ impl clean::Impl {
|
||||||
f.write_str(" ")?;
|
f.write_str(" ")?;
|
||||||
|
|
||||||
if let Some(ref ty) = self.trait_ {
|
if let Some(ref ty) = self.trait_ {
|
||||||
match self.polarity {
|
if self.is_negative_trait_impl() {
|
||||||
ty::ImplPolarity::Positive | ty::ImplPolarity::Reservation => {}
|
write!(f, "!")?;
|
||||||
ty::ImplPolarity::Negative => write!(f, "!")?,
|
|
||||||
}
|
}
|
||||||
ty.print(cx).fmt(f)?;
|
ty.print(cx).fmt(f)?;
|
||||||
write!(f, " for ")?;
|
write!(f, " for ")?;
|
||||||
|
|
|
@ -1780,20 +1780,23 @@ fn render_impl(
|
||||||
|
|
||||||
let mut impl_items = Buffer::empty_from(w);
|
let mut impl_items = Buffer::empty_from(w);
|
||||||
let mut default_impl_items = Buffer::empty_from(w);
|
let mut default_impl_items = Buffer::empty_from(w);
|
||||||
|
let impl_ = i.inner_impl();
|
||||||
|
|
||||||
for trait_item in &i.inner_impl().items {
|
if !impl_.is_negative_trait_impl() {
|
||||||
doc_impl_item(
|
for trait_item in &impl_.items {
|
||||||
&mut default_impl_items,
|
doc_impl_item(
|
||||||
&mut impl_items,
|
&mut default_impl_items,
|
||||||
cx,
|
&mut impl_items,
|
||||||
trait_item,
|
cx,
|
||||||
if trait_.is_some() { &i.impl_item } else { parent },
|
trait_item,
|
||||||
link,
|
if trait_.is_some() { &i.impl_item } else { parent },
|
||||||
render_mode,
|
link,
|
||||||
false,
|
render_mode,
|
||||||
trait_,
|
false,
|
||||||
rendering_params,
|
trait_,
|
||||||
);
|
rendering_params,
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_default_items(
|
fn render_default_items(
|
||||||
|
@ -1844,13 +1847,15 @@ fn render_impl(
|
||||||
// We don't emit documentation for default items if they appear in the
|
// We don't emit documentation for default items if they appear in the
|
||||||
// Implementations on Foreign Types or Implementors sections.
|
// Implementations on Foreign Types or Implementors sections.
|
||||||
if rendering_params.show_default_items {
|
if rendering_params.show_default_items {
|
||||||
if let Some(t) = trait_ {
|
if let Some(t) = trait_
|
||||||
|
&& !impl_.is_negative_trait_impl()
|
||||||
|
{
|
||||||
render_default_items(
|
render_default_items(
|
||||||
&mut default_impl_items,
|
&mut default_impl_items,
|
||||||
&mut impl_items,
|
&mut impl_items,
|
||||||
cx,
|
cx,
|
||||||
t,
|
t,
|
||||||
i.inner_impl(),
|
impl_,
|
||||||
&i.impl_item,
|
&i.impl_item,
|
||||||
render_mode,
|
render_mode,
|
||||||
rendering_params,
|
rendering_params,
|
||||||
|
@ -1882,7 +1887,7 @@ fn render_impl(
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(ref dox) = i.impl_item.opt_doc_value() {
|
if let Some(ref dox) = i.impl_item.opt_doc_value() {
|
||||||
if trait_.is_none() && i.inner_impl().items.is_empty() {
|
if trait_.is_none() && impl_.items.is_empty() {
|
||||||
w.write_str(
|
w.write_str(
|
||||||
"<div class=\"item-info\">\
|
"<div class=\"item-info\">\
|
||||||
<div class=\"stab empty-impl\">This impl block contains no items.</div>\
|
<div class=\"stab empty-impl\">This impl block contains no items.</div>\
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue