aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir
diff options
context:
space:
mode:
authorPhilip Herron <herron.philip@googlemail.com>2025-02-13 17:45:09 +0000
committerPhilip Herron <philip.herron@embecosm.com>2025-02-13 18:26:59 +0000
commit1eb46203ced28c5a3e44f6b63a23d4e91bd4f344 (patch)
tree74656405d93bea2ed19a3e46f2ef2b6f6de7cc5c /gcc/rust/hir
parent45fc433d0fa4c447df695aae4c2f63cb428ca6b5 (diff)
downloadgcc-1eb46203ced28c5a3e44f6b63a23d4e91bd4f344.zip
gcc-1eb46203ced28c5a3e44f6b63a23d4e91bd4f344.tar.gz
gcc-1eb46203ced28c5a3e44f6b63a23d4e91bd4f344.tar.bz2
gccrs: self paths are patterns but we dont have mappings for it
With simple patterns we dont introduce any more inference varaibles as they are already declared in a specific way. This would only lead to more unconstrained inference varaibles than is required. Fixes Rust-GCC#3022 gcc/rust/ChangeLog: * hir/rust-ast-lower-base.cc (ASTLoweringBase::lower_self): add location mappings * typecheck/rust-hir-type-check-path.cc (TypeCheckExpr::resolve_root_path): check for self gcc/testsuite/ChangeLog: * rust/compile/issue-3022.rs: New test. Signed-off-by: Philip Herron <herron.philip@googlemail.com>
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r--gcc/rust/hir/rust-ast-lower-base.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-base.cc b/gcc/rust/hir/rust-ast-lower-base.cc
index 229f6e0..02fac9a 100644
--- a/gcc/rust/hir/rust-ast-lower-base.cc
+++ b/gcc/rust/hir/rust-ast-lower-base.cc
@@ -666,6 +666,7 @@ ASTLoweringBase::lower_self (AST::Param &param)
Analysis::NodeMapping mapping (crate_num, self.get_node_id (),
mappings.get_next_hir_id (crate_num),
mappings.get_next_localdef_id (crate_num));
+ mappings.insert_location (mapping.get_hirid (), param.get_locus ());
if (self.has_type ())
{