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 @@ -436,6 +436,11 @@ demangleConst(); print("]"); break; + case 'S': + print("["); + demangleType(); + print("]"); + break; default: Position = Start; demanglePath(InType::Yes); 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 @@ -160,6 +160,9 @@ CHECK: types::<[u8; 0]> _RIC5typesAhj0_E +CHECK: types::<[_]> + _RIC5typesSpE + ; Integer constants. Test value demangling. CHECK: integer::<0>