WIP inherited deprecation fixes #26040
This commit is contained in:
parent
c85f307369
commit
836cdf0a02
@ -60,8 +60,18 @@ fn annotate<F>(&mut self, id: NodeId, use_parent: bool,
|
||||
if self.index.staged_api[&ast::LOCAL_CRATE] {
|
||||
debug!("annotate(id = {:?}, attrs = {:?})", id, attrs);
|
||||
match attr::find_stability(self.tcx.sess.diagnostic(), attrs, item_sp) {
|
||||
Some(stab) => {
|
||||
Some(mut stab) => {
|
||||
debug!("annotate: found {:?}", stab);
|
||||
// if parent is deprecated and we're not, inherit this by merging
|
||||
// deprecated_since and its reason.
|
||||
if let Some(parent_stab) = self.parent {
|
||||
if parent_stab.deprecated_since.is_some()
|
||||
&& stab.deprecated_since.is_none() {
|
||||
stab.deprecated_since = parent_stab.deprecated_since.clone();
|
||||
stab.reason = parent_stab.reason.clone();
|
||||
}
|
||||
}
|
||||
|
||||
let stab = self.tcx.intern_stability(stab);
|
||||
self.index.map.insert(local_def(id), Some(stab));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user