diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2024-03-21 17:28:32 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2024-03-21 17:35:20 -0700 |
| commit | 861e47000f8bb35c76290c28f86757a4f5463c6c (patch) | |
| tree | fb81621c70369b6f577d619165f620f37413bbab | |
| parent | 7d01878bd0d1c4383c1158adeff0c392446ea3a2 (diff) | |
| download | rust-861e47000f8bb35c76290c28f86757a4f5463c6c.tar.gz rust-861e47000f8bb35c76290c28f86757a4f5463c6c.zip | |
Fix Itanium mangling usizes
Arrays, surprisingly, are not sized to u64 on all platforms.
| -rw-r--r-- | compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs b/compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs index 51e2c96120c..c5ae08e284e 100644 --- a/compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs +++ b/compiler/rustc_symbol_mangling/src/typeid/typeid_itanium_cxx_abi.rs @@ -525,8 +525,8 @@ fn encode_ty<'tcx>( "{}", &len.try_to_scalar() .unwrap() - .to_u64() - .unwrap_or_else(|_| panic!("failed to convert length to u64")) + .to_target_usize(&tcx.data_layout) + .expect("Array lens are defined in usize") ); s.push_str(&encode_ty(tcx, *ty0, dict, options)); compress(dict, DictKey::Ty(ty, TyQ::None), &mut s); |
