From 5dfc948805a85fdd0ca37386228114f55ce4287a Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 28 Feb 2023 23:31:11 +0000 Subject: [PATCH] Support tuples containing array elements --- c-bindings-gen/src/types.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 64f2a68..73ba02a 100644 --- a/c-bindings-gen/src/types.rs +++ b/c-bindings-gen/src/types.rs @@ -2817,6 +2817,13 @@ impl<'a, 'c: 'a> TypeResolver<'a, 'c> { if let syn::Type::Path(p) = &*refelem.elem { write_path!(p, Some(&mut mangled_tuple_type)); } else { return false; } + } else if let syn::Type::Array(_) = elem { + let mut resolved = Vec::new(); + if !self.write_c_type_intern(&mut resolved, &elem, generics, false, false, true, false, true) { return false; } + let array_inner = String::from_utf8(resolved).unwrap(); + let arr_name = array_inner.split("::").last().unwrap(); + write!(w, "{}", arr_name).unwrap(); + write!(mangled_type, "{}", arr_name).unwrap(); } else { return false; } } write!(w, "Z").unwrap(); -- 2.30.2