1
Fork 0

Rollup merge of #124524 - spastorino:make-foreign-static-use-struct, r=oli-obk

Add StaticForeignItem and use it on ForeignItemKind

This is in preparation for unsafe extern blocks that adds a safe variant for functions inside extern blocks.

r? `@oli-obk`
cc `@compiler-errors`
This commit is contained in:
Matthias Krüger 2024-04-30 06:43:42 +02:00 committed by GitHub
commit ea3d99eaa8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 86 additions and 40 deletions

View file

@ -662,10 +662,10 @@ impl<'hir> LoweringContext<'_, 'hir> {
hir::ForeignItemKind::Fn(fn_dec, fn_args, generics)
}
ForeignItemKind::Static(t, m, _) => {
let ty =
self.lower_ty(t, ImplTraitContext::Disallowed(ImplTraitPosition::StaticTy));
hir::ForeignItemKind::Static(ty, *m)
ForeignItemKind::Static(box StaticForeignItem { ty, mutability, expr: _ }) => {
let ty = self
.lower_ty(ty, ImplTraitContext::Disallowed(ImplTraitPosition::StaticTy));
hir::ForeignItemKind::Static(ty, *mutability)
}
ForeignItemKind::TyAlias(..) => hir::ForeignItemKind::Type,
ForeignItemKind::MacCall(_) => panic!("macro shouldn't exist here"),