gccrs: bugfix: initialize slice from array in const context

gcc/rust/ChangeLog:

	* typecheck/rust-hir-type-check-stmt.cc (TypeCheckStmt::visit): Turn
	constant item typechecking into a coercion site instead of a unify
	site.

gcc/testsuite/ChangeLog:

	* rust/compile/const6.rs: New test.

Signed-off-by: Faisal Abbas <90.abbasfaisal@gmail.com>
This commit is contained in:
Faisal Abbas
2022-09-04 16:07:43 +01:00
committed by Arthur Cohen
parent 0fffc0e772
commit 689a5c6711
2 changed files with 5 additions and 1 deletions

View File

@@ -68,7 +68,7 @@ TypeCheckStmt::visit (HIR::ConstantItem &constant)
TyTy::BaseType *type = TypeCheckType::Resolve (constant.get_type ());
TyTy::BaseType *expr_type = TypeCheckExpr::Resolve (constant.get_expr ());
infered = unify_site (
infered = coercion_site (
constant.get_mappings ().get_hirid (),
TyTy::TyWithLocation (type, constant.get_type ()->get_locus ()),
TyTy::TyWithLocation (expr_type, constant.get_expr ()->get_locus ()),

View File

@@ -0,0 +1,4 @@
fn main() {
const array:[i32; 1] = [1];
const slice:&[i32] = &array;
}