From: Philip Herron Date: Sat, 17 Sep 2022 09:05:59 +0000 (+0100) Subject: gccrs: Statics are a coercion site X-Git-Tag: basepoints/gcc-14~1643 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=408ab8a6e412270996ec10369b778cfcb3946ae5;p=thirdparty%2Fgcc.git gccrs: Statics are a coercion site Statics can be assigned to a block expression meaning they need to behave similarly to constant items. gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-toplevel.cc (TypeCheckTopLevel::visit): Make static items behave more similarly to const items. --- diff --git a/gcc/rust/typecheck/rust-hir-type-check-toplevel.cc b/gcc/rust/typecheck/rust-hir-type-check-toplevel.cc index b0ee292df105..594e527fdcf2 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-toplevel.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-toplevel.cc @@ -261,11 +261,11 @@ TypeCheckTopLevel::visit (HIR::StaticItem &var) TyTy::BaseType *expr_type = TypeCheckExpr::Resolve (var.get_expr ()); TyTy::BaseType *unified - = unify_site (var.get_mappings ().get_hirid (), - TyTy::TyWithLocation (type, var.get_type ()->get_locus ()), - TyTy::TyWithLocation (expr_type, - var.get_expr ()->get_locus ()), - var.get_locus ()); + = coercion_site (var.get_mappings ().get_hirid (), + TyTy::TyWithLocation (type, var.get_type ()->get_locus ()), + TyTy::TyWithLocation (expr_type, + var.get_expr ()->get_locus ()), + var.get_locus ()); context->insert_type (var.get_mappings (), unified); }