1
Fork 0

Allow unsafe extern on all editions

This commit is contained in:
Santiago Pastorino 2024-04-24 19:10:14 -03:00
parent 68b0b86c5b
commit 6d670b74e5
No known key found for this signature in database
GPG key ID: 8131A24E0C79EFAF
7 changed files with 11 additions and 36 deletions

View file

@ -1016,15 +1016,12 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
walk_list!(self, visit_attribute, &item.attrs);
return; // Avoid visiting again.
}
ItemKind::ForeignMod(ForeignMod { abi, safety, .. }) => {
ItemKind::ForeignMod(ForeignMod { abi, .. }) => {
let old_item = mem::replace(&mut self.extern_mod, Some(item));
self.visibility_not_permitted(
&item.vis,
errors::VisibilityNotPermittedNote::IndividualForeignItems,
);
if let &Safety::Unsafe(span) = safety {
self.dcx().emit_err(errors::UnsafeItem { span, kind: "extern block" });
}
if abi.is_none() {
self.maybe_lint_missing_abi(item.span, item.id);
}