diff --git a/llvm/lib/Demangle/RustDemangle.cpp b/llvm/lib/Demangle/RustDemangle.cpp --- a/llvm/lib/Demangle/RustDemangle.cpp +++ b/llvm/lib/Demangle/RustDemangle.cpp @@ -434,6 +434,11 @@ demangleConst(); print("]"); break; + case 'S': + print("["); + demangleType(); + print("]"); + break; case 'C': case 'M': case 'X': diff --git a/llvm/test/Demangle/rust.test b/llvm/test/Demangle/rust.test --- a/llvm/test/Demangle/rust.test +++ b/llvm/test/Demangle/rust.test @@ -163,6 +163,9 @@ CHECK: types::<[u8; 0]> _RIC5typesAhj0_E +CHECK: types::<[u8]> + _RIC5typesShE + ; Integer constants. Test value demangling. CHECK: integer::<0>