Allow emitting diagnostics from the #[diagnostic] namespace without a

nightly feature

(Using this attribute still requires a nightly feature, this just
enables that this feature does not need to be enabled on the child crate
as well)
This commit is contained in:
Georg Semmler 2023-12-21 14:02:58 +01:00
parent 8d39ec1825
commit ddfcf86867
No known key found for this signature in database
GPG Key ID: A87BCEE5205CE489

View File

@ -521,7 +521,7 @@ impl<'tcx> OnUnimplementedDirective {
pub fn of_item(tcx: TyCtxt<'tcx>, item_def_id: DefId) -> Result<Option<Self>, ErrorGuaranteed> {
if let Some(attr) = tcx.get_attr(item_def_id, sym::rustc_on_unimplemented) {
return Self::parse_attribute(attr, false, tcx, item_def_id);
} else if tcx.features().diagnostic_namespace {
} else {
tcx.get_attrs_by_path(item_def_id, &[sym::diagnostic, sym::on_unimplemented])
.filter_map(|attr| Self::parse_attribute(attr, true, tcx, item_def_id).transpose())
.try_fold(None, |aggr: Option<Self>, directive| {
@ -592,8 +592,6 @@ impl<'tcx> OnUnimplementedDirective {
Ok(Some(directive))
}
})
} else {
Ok(None)
}
}