]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
nr2.0: Handle StructPatternFieldIdent
authorOwen Avery <powerboat9.gamer@gmail.com>
Thu, 17 Apr 2025 18:02:45 +0000 (14:02 -0400)
committerPhilip Herron <philip.herron@embecosm.com>
Fri, 18 Apr 2025 09:43:10 +0000 (09:43 +0000)
gcc/rust/ChangeLog:

* resolve/rust-late-name-resolver-2.0.cc
(Late::visit): Handle StructPatternFieldIdent.
* resolve/rust-late-name-resolver-2.0.h
(Late::visit): Likewise.

gcc/testsuite/ChangeLog:

* rust/compile/nr2/exclude: Remove entry.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
gcc/rust/resolve/rust-late-name-resolver-2.0.cc
gcc/rust/resolve/rust-late-name-resolver-2.0.h
gcc/testsuite/rust/compile/nr2/exclude

index c140fa07f9b8369a1f2b10eafb40d01e0fb78915..6ac249b4cf22b4cba73a4865f4664cf12378e621 100644 (file)
@@ -172,6 +172,14 @@ Late::visit (AST::IdentifierPattern &identifier)
                                              identifier.get_node_id ());
 }
 
+void
+Late::visit (AST::StructPatternFieldIdent &field)
+{
+  // We do want to ignore duplicated data because some situations rely on it.
+  std::ignore = ctx.values.insert_shadowable (field.get_identifier (),
+                                             field.get_node_id ());
+}
+
 void
 Late::visit (AST::SelfParam &param)
 {
index 52079cc42c9e271ac20bf94b1e0e7d3b536172cc..34f3c28fee4f498d2c15b090f3ada788c4bc323d 100644 (file)
@@ -42,6 +42,7 @@ public:
   // TODO: Do we need this?
   // void visit (AST::Method &) override;
   void visit (AST::IdentifierPattern &) override;
+  void visit (AST::StructPatternFieldIdent &) override;
   void visit (AST::SelfParam &) override;
 
   // resolutions
index 4772517c47e40388788a40e726927890ba126d76..5c52a3cababa62280d930ddda70c6ef975e4a31d 100644 (file)
@@ -16,7 +16,6 @@ derive_clone_enum3.rs
 derive-debug1.rs
 derive-default1.rs
 derive-eq-invalid.rs
-derive-hash1.rs
 torture/alt_patterns1.rs
 torture/name_resolve1.rs
 issue-3568.rs