[gcc r15-8858] gccrs: nr2.0: Fix test self-path2.rs

Arthur Cohen cohenarthur@gcc.gnu.org
Mon Mar 24 12:39:42 GMT 2025


https://gcc.gnu.org/g:0b342630e4f0bcd322409d9aeb8c0bc02d7d0890

commit r15-8858-g0b342630e4f0bcd322409d9aeb8c0bc02d7d0890
Author: Owen Avery <powerboat9.gamer@gmail.com>
Date:   Sun Feb 9 15:16:59 2025 -0500

    gccrs: nr2.0: Fix test self-path2.rs
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-ast-resolve-path.cc
            (ResolvePath::resolve_path): Adjust the error message for a lower
            self segment in the middle of a path.
            * resolve/rust-ast-resolve-type.cc
            (ResolveRelativeTypePath::go): Likewise.
    
    gcc/testsuite/ChangeLog:
    
            * rust/compile/nr2/exclude: Remove self-path2.rs
            * rust/compile/self-path2.rs: Adjust expected errors.
    
    Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>

Diff:
---
 gcc/rust/resolve/rust-ast-resolve-path.cc | 14 +++++++-------
 gcc/rust/resolve/rust-ast-resolve-type.cc |  4 ++--
 gcc/testsuite/rust/compile/nr2/exclude    |  1 -
 gcc/testsuite/rust/compile/self-path2.rs  |  4 ++--
 4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/gcc/rust/resolve/rust-ast-resolve-path.cc b/gcc/rust/resolve/rust-ast-resolve-path.cc
index 256159bc5cc5..656b7e64bb73 100644
--- a/gcc/rust/resolve/rust-ast-resolve-path.cc
+++ b/gcc/rust/resolve/rust-ast-resolve-path.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2020-2025 Free Software Foundation, Inc.
+// Copyright (C) 2020-2024 Free Software Foundation, Inc.
 
 // This file is part of GCC.
 
@@ -68,8 +68,8 @@ ResolvePath::resolve_path (AST::PathInExpression &expr)
       if (in_middle_of_path && segment.is_lower_self_seg ())
 	{
 	  rust_error_at (segment.get_locus (), ErrorCode::E0433,
-			 "failed to resolve: %qs in paths can only be used "
-			 "in start position",
+			 "leading path segment %qs can only be used at the "
+			 "beginning of a path",
 			 segment.as_string ().c_str ());
 	  return UNKNOWN_NODEID;
 	}
@@ -192,7 +192,7 @@ ResolvePath::resolve_path (AST::PathInExpression &expr)
 	      else
 		{
 		  rust_error_at (segment.get_locus (),
-				 "Cannot find path %qs in this scope",
+				 "Cannot find path %<%s%> in this scope",
 				 segment.as_string ().c_str ());
 		  return UNKNOWN_NODEID;
 		}
@@ -212,7 +212,7 @@ ResolvePath::resolve_path (AST::PathInExpression &expr)
       else if (is_first_segment)
 	{
 	  rust_error_at (segment.get_locus (), ErrorCode::E0433,
-			 "Cannot find path %qs in this scope",
+			 "Cannot find path %<%s%> in this scope",
 			 segment.as_string ().c_str ());
 	  return UNKNOWN_NODEID;
 	}
@@ -331,7 +331,7 @@ ResolvePath::resolve_path (AST::SimplePath &expr)
 	  else
 	    {
 	      rust_error_at (segment.get_locus (),
-			     "Cannot find path %qs in this scope",
+			     "Cannot find path %<%s%> in this scope",
 			     segment.as_string ().c_str ());
 	      return UNKNOWN_NODEID;
 	    }
@@ -379,7 +379,7 @@ ResolvePath::resolve_path (AST::SimplePath &expr)
       if (resolved_node_id == UNKNOWN_NODEID)
 	{
 	  rust_error_at (segment.get_locus (),
-			 "cannot find simple path segment %qs in this scope",
+			 "cannot find simple path segment %<%s%> in this scope",
 			 segment.as_string ().c_str ());
 	  return UNKNOWN_NODEID;
 	}
diff --git a/gcc/rust/resolve/rust-ast-resolve-type.cc b/gcc/rust/resolve/rust-ast-resolve-type.cc
index af63898a5d27..87643d775ff4 100644
--- a/gcc/rust/resolve/rust-ast-resolve-type.cc
+++ b/gcc/rust/resolve/rust-ast-resolve-type.cc
@@ -176,8 +176,8 @@ ResolveRelativeTypePath::go (AST::TypePath &path, NodeId &resolved_node_id)
 	  if (in_middle_of_path && segment->is_lower_self_seg ())
 	    {
 	      rust_error_at (segment->get_locus (), ErrorCode::E0433,
-			     "failed to resolve: %qs in paths can only be used "
-			     "in start position",
+			     "leading path segment %qs can only be used at the "
+			     "beginning of a path",
 			     segment->as_string ().c_str ());
 	      return false;
 	    }
diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude
index a4bac9ac8365..a2a833f90738 100644
--- a/gcc/testsuite/rust/compile/nr2/exclude
+++ b/gcc/testsuite/rust/compile/nr2/exclude
@@ -28,7 +28,6 @@ pub_restricted_2.rs
 pub_restricted_3.rs
 redef_error2.rs
 redef_error5.rs
-self-path2.rs
 sizeof-stray-infer-var-bug.rs
 struct-expr-parse.rs
 undeclared_label.rs
diff --git a/gcc/testsuite/rust/compile/self-path2.rs b/gcc/testsuite/rust/compile/self-path2.rs
index b9b82cae5a6a..6441c3328f91 100644
--- a/gcc/testsuite/rust/compile/self-path2.rs
+++ b/gcc/testsuite/rust/compile/self-path2.rs
@@ -11,11 +11,11 @@ fn baz() {
     crate::bar();
 
     crate::self::foo();
-    // { dg-error "failed to resolve: .self. in paths can only be used in start position" "" { target *-*-* } .-1 }
+    // { dg-error "leading path segment .self. can only be used at the beginning of a path" "" { target *-*-* } .-1 }
 }
 
 type a = foo;
 type b = crate::foo;
 type c = self::foo;
 type d = crate::self::foo;
-// { dg-error "failed to resolve: .self. in paths can only be used in start position" "" { target *-*-* } .-1 }
+// { dg-error "leading path segment .self. can only be used at the beginning of a path" "" { target *-*-* } .-1 }


More information about the Gcc-cvs mailing list