From 2ce1647ea0f84b6ba1e94be5367d4f7bd3536b38 Mon Sep 17 00:00:00 2001 From: yuyi Date: Wed, 15 Dec 2021 19:21:21 +0800 Subject: [PATCH] cgen: fix error of embedded struct generating interface_table (#12847) --- vlib/v/gen/c/cgen.v | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index bdb9263e82..4b74197883 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -7338,7 +7338,12 @@ static inline $interface_name I_${cctype}_to_Interface_${interface_name}($cctype if st_sym.info is ast.Struct { for embed in st_sym.info.embeds { embed_sym := g.table.get_type_symbol(embed) - methods << embed_sym.methods + method_names := methods.map(it.name) + for embed_method in embed_sym.methods { + if embed_method.name !in method_names { + methods << embed_method + } + } } } for method in methods {