https://gcc.gnu.org/g:1e69c5655894ab3cbeb4431a5b3daff211d3c4e1

commit r16-1710-g1e69c5655894ab3cbeb4431a5b3daff211d3c4e1
Author: Martin Jambor <mjam...@suse.cz>
Date:   Mon Jun 23 23:52:20 2025 +0200

    rust: Silence a clang warning in borrow-checker-diagnostics
    
    When compiling
    gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
    with clang, it emits the following warning:
    
      
gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc:145:46: 
warning: non-constant-expression cannot be narrowed from type 'Polonius::Loan' 
(aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') in initializer list 
[-Wc++11-narrowing]
    
    I'd hope that for indexing that is never really a problem,
    nevertheless if narrowing is taking place, I guess it can be argued it
    should be made explicit.
    
    gcc/rust/ChangeLog:
    
    2025-06-23  Martin Jambor  <mjam...@suse.cz>
    
            * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
            (BorrowCheckerDiagnostics::get_loan): Type cast loan to uint32_t.

Diff:
---
 gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc 
b/gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
index 6c67706780bf..adf1448791e1 100644
--- a/gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+++ b/gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
@@ -142,7 +142,7 @@ BorrowCheckerDiagnostics::get_statement (Polonius::Point 
point)
 const BIR::Loan &
 BorrowCheckerDiagnostics::get_loan (Polonius::Loan loan)
 {
-  return bir_function.place_db.get_loans ()[{loan}];
+  return bir_function.place_db.get_loans ()[{(uint32_t) loan}];
 }
 
 const HIR::LifetimeParam *

Reply via email to