diff options
| author | bors <bors@rust-lang.org> | 2019-09-26 08:42:34 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-09-26 08:42:34 +0000 |
| commit | 134004f74db3b4626bde37cc068d9ae6dedd2d38 (patch) | |
| tree | f0c0cd46c057791d6a65b4a1bce470f262ecfee3 /src/librustdoc/clean/mod.rs | |
| parent | dc45735f29788924b9fc351d100e5bf3ebdca162 (diff) | |
| parent | e70724c23bd2bd5cfbbac784d103f2a61a40284f (diff) | |
| download | rust-134004f74db3b4626bde37cc068d9ae6dedd2d38.tar.gz rust-134004f74db3b4626bde37cc068d9ae6dedd2d38.zip | |
Auto merge of #62661 - arielb1:never-reserve, r=nikomatsakis
reserve `impl<T> From<!> for T` this is necessary for never-type stabilization. cc #57012 #35121 I think we wanted a crater run for this @nikomatsakis? r? @nikomatsakis
Diffstat (limited to 'src/librustdoc/clean/mod.rs')
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 46b71abac54..3972d77385d 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -3855,11 +3855,13 @@ pub enum ImplPolarity { Negative, } -impl Clean<ImplPolarity> for hir::ImplPolarity { +impl Clean<ImplPolarity> for ty::ImplPolarity { fn clean(&self, _: &DocContext<'_>) -> ImplPolarity { match self { - &hir::ImplPolarity::Positive => ImplPolarity::Positive, - &hir::ImplPolarity::Negative => ImplPolarity::Negative, + &ty::ImplPolarity::Positive | + // FIXME: do we want to do something else here? + &ty::ImplPolarity::Reservation => ImplPolarity::Positive, + &ty::ImplPolarity::Negative => ImplPolarity::Negative, } } } @@ -3891,6 +3893,7 @@ impl Clean<Vec<Item>> for doctree::Impl<'_> { let mut ret = Vec::new(); let trait_ = self.trait_.clean(cx); let items = self.items.iter().map(|ii| ii.clean(cx)).collect::<Vec<_>>(); + let def_id = cx.tcx.hir().local_def_id(self.id); // If this impl block is an implementation of the Deref trait, then we // need to try inlining the target's inherent impl blocks as well. @@ -3909,7 +3912,7 @@ impl Clean<Vec<Item>> for doctree::Impl<'_> { name: None, attrs: self.attrs.clean(cx), source: self.whence.clean(cx), - def_id: cx.tcx.hir().local_def_id(self.id), + def_id, visibility: self.vis.clean(cx), stability: cx.stability(self.id).clean(cx), deprecation: cx.deprecation(self.id).clean(cx), @@ -3920,7 +3923,7 @@ impl Clean<Vec<Item>> for doctree::Impl<'_> { trait_, for_: self.for_.clean(cx), items, - polarity: Some(self.polarity.clean(cx)), + polarity: Some(cx.tcx.impl_polarity(def_id).clean(cx)), synthetic: false, blanket_impl: None, }) |
