From 43c61db973ad9947d5369e5a115202d78e147a82 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Tue, 17 Aug 2021 22:15:55 +0000 Subject: [PATCH] Fix cloning trait structs via native clone method When cloning a trait struct, we need to reference the already-converted-to-struct value, not the original, integer, value. --- gen_type_mapping.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen_type_mapping.py b/gen_type_mapping.py index 6cf389aa..ab95f9b6 100644 --- a/gen_type_mapping.py +++ b/gen_type_mapping.py @@ -297,7 +297,7 @@ class TypeMappingGenerator: if not is_free: needs_full_clone = not is_free and (not ty_info.is_ptr and not holds_ref or ty_info.requires_clone == True) and ty_info.requires_clone != False if needs_full_clone and (ty_info.rust_obj.replace("LDK", "") + "_clone") in self.clone_fns: - base_conv = base_conv + "\n" + ty_info.var_name + "_conv = " + ty_info.rust_obj.replace("LDK", "") + "_clone(" + ty_info.var_name + ");" + base_conv = base_conv + "\n" + ty_info.var_name + "_conv = " + ty_info.rust_obj.replace("LDK", "") + "_clone(&" + ty_info.var_name + "_conv);" else: base_conv = base_conv + self.consts.trait_struct_inc_refcnt(ty_info) if needs_full_clone: -- 2.39.5