[gcc r17-2254] gccrs: Fix unify code on ADT's to check defid

Arthur Cohen via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:1fe3817daa73c8eba1180edccbca9b29a74e12af

commit r17-2254-g1fe3817daa73c8eba1180edccbca9b29a74e12af
Author: Philip Herron <[email protected]>
Date:   Mon Jun 29 18:06:14 2026 +0100

    gccrs: Fix unify code on ADT's to check defid
    
    There is a simple upfront check on ADT's we can check that def-id's match
    before continuing to unify them.
    
    gcc/rust/ChangeLog:
    
            * typecheck/rust-unify.cc (UnifyRules::expect_adt): check defid
    
    Signed-off-by: Philip Herron <[email protected]>

Diff:
---
 gcc/rust/typecheck/rust-unify.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/rust/typecheck/rust-unify.cc b/gcc/rust/typecheck/rust-unify.cc
index 719e21f449e3..32aebff52593 100644
--- a/gcc/rust/typecheck/rust-unify.cc
+++ b/gcc/rust/typecheck/rust-unify.cc
@@ -591,6 +591,11 @@ UnifyRules::expect_adt (TyTy::ADTType *ltype, TyTy::BaseType *rtype)
 	    return unify_error_type_node ();
 	  }
 
+	if (ltype->get_id () != type.get_id ())
+	  {
+	    return unify_error_type_node ();
+	  }
+
 	if (ltype->get_identifier ().compare (type.get_identifier ()) != 0)
 	  {
 	    return unify_error_type_node ();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.