From 5318f6ac53c4bd4bc893d2aa0c9810a6f1915bf2 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sat, 3 Sep 2022 12:31:35 -0400 Subject: [PATCH] Fix nested array ordering --- src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 471cd28..66fbf88 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -142,7 +142,7 @@ fn demangle_arg(mut str: &str) -> Option<(String, String, &str)> { let (arg_pre, arg_post, rest) = demangle_arg(&rest[1..])?; if !post.is_empty() { post = format!("({})", post); } result = format!("{}{}{}", pre, arg_pre, post); - let ret_post = format!("{}[{}]", arg_post, count); + let ret_post = format!("[{}]{}", count, arg_post); return Some((result, ret_post, rest)); } result.push_str(match str.chars().next().unwrap() { @@ -459,5 +459,9 @@ mod tests { demangle("RenderNormals__FRA43_A43_CQ220CFluidPlaneCPURender13SHFieldSampleRA22_A22_CUcRCQ220CFluidPlaneCPURender10SPatchInfo"), Some("RenderNormals(const CFluidPlaneCPURender::SHFieldSample(&)[43][43], const unsigned char(&)[22][22], const CFluidPlaneCPURender::SPatchInfo&)".to_string()) ); + assert_eq!( + demangle("Matrix__FfPA2_A3_f"), + Some("Matrix(float, float(*)[2][3])".to_string()) + ); } }