From f37a1019ae2147688eb42deca1dbf43a40f25379 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Tue, 9 Jun 2026 14:56:55 +0200 Subject: [PATCH] Working improved inheritance generics --- crates/codegen/src/class_decl.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/crates/codegen/src/class_decl.rs b/crates/codegen/src/class_decl.rs index e6027ba..140e4ac 100644 --- a/crates/codegen/src/class_decl.rs +++ b/crates/codegen/src/class_decl.rs @@ -52,8 +52,7 @@ pub fn class_decl( cg.indent += 1; cg.add_indentedln(&format!( - "pub _m_oop: (&'static [*const std::ffi::c_void; {}], *mut std::ffi::c_void),", - v_table.len() + "pub _m_oop: (&'static [*const std::ffi::c_void], *mut std::ffi::c_void),", )); if let Some(inherits) = inherits { @@ -80,8 +79,6 @@ pub fn class_decl( // V TABLE { - cg.add_indentedln(&format!("pub const __V_COUNT: usize = {};", v_table.len())); - for (i, method_name) in v_table.iter().enumerate() { cg.add_indentedln(&format!( "pub const __FN_{}: usize = {i};", @@ -108,12 +105,7 @@ pub fn class_decl( // Super V Table if let Some(inherits) = &inherits { - cg.add_indented(&format!( - "pub const __SUPER_V_TABLE: [*const std::ffi::c_void; {}", - inherits.get_rust() - )); - - cg.addln("::__V_COUNT] = {"); + cg.add_indented("pub const __SUPER_V_TABLE: &'static [*const std::ffi::c_void] = &{"); cg.indent += 1; cg.add_indented("let mut table = ");