Missing constructor when using varargs on compact classes
The following code
[Compact]
class MyCompactClass {
public MyCompactClass (string first_arg, ...) { }
}
misses implementation for my_compactclass_new ()
on generated C code
/* compact-class.c generated by valac 0.48.17, the Vala compiler
* generated from compact-class.vala, do not modify */
#include <stdlib.h>
#include <string.h>
#include <glib.h>
typedef struct _MyCompactClass MyCompactClass;
struct _MyCompactClass {
int dummy;
}
void my_compactclass_free (MyCompactClass * self);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MyCompactClass, my_compactclass_free)
static void my_compactclass_instance_init (MyCompactClass * self);
MyCompactClass* my_compactclass_new (const gchar* first_arg,
...);
MyCompactClass*
my_compactclass_constructv (const gchar* first_arg,
va_list _vala_va_list)
{
MyCompactClass* self;
g_return_val_if_fail (first_arg != NULL, NULL);
self = g_slice_new0 (MyCompactClass);
my_compactclass_instance_init (self);
return self;
}
static void
my_compactclass_instance_init (MyCompactClass * self)
{
}
void
my_compactclass_free (MyCompactClass * self)
{
g_slice_free (MyCompactClass, self);
}
It should be noted that this seems only to ocurr with compact classes, fundamental GType classes and GObject subclasses are fine