On Wed, Jan 18, 2012 at 11:56 AM, Henrik /KaarPoSoft
<[email protected]>wrote:

> Dear all,
>
> I am trying to create a new type in vala,
> like "typedef" in C.
>
> http://live.gnome.org/Vala/**Tutorial<http://live.gnome.org/Vala/Tutorial>has 
> this example:
> /* defining an alias for a basic type (equivalent to typedef int Integer
> in C)*/
> [SimpleType]
> public struct Integer : uint {}
>
> However, it does not seem to work...
>
> I have created the following file called i.vala:
> <code>
> [SimpleType]
> public struct Integer : uint {
> }
> public static int main (string[] args) {return 0;}
> </code>
>
> Compiling with valac i.vala gives:
> /home/henrik/v1/i.c: In function ‘integer_get_type’:
> /home/henrik/v1/i.c:22:79: error: ‘integer_dup’ undeclared (first use in
> this function)
> /home/henrik/v1/i.c:22:79: note: each undeclared identifier is reported
> only once for each function it appears in
> /home/henrik/v1/i.c:22:109: error: ‘integer_free’ undeclared (first use in
> this function)
>
> This is running on Linux Mint 12 (like Ubuntu Oneiric)
> Vala 0.14.0
> gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
>
> I tried also using latest version of vala from git:
> Vala 0.15.0.72-516e7
> with the same result.
>
> valac --save-temps shows only this in i.c:
> <snip>
> GType integer_get_type (void) {
> static volatile gsize integer_type_id__volatile = 0;
> if (g_once_init_enter (&integer_type_id__volatile)) {
> GType integer_type_id;
> integer_type_id = g_boxed_type_register_static ("int32_t",
> (GBoxedCopyFunc) integer_dup, (GBoxedFreeFunc) integer_free);
> g_once_init_leave (&integer_type_id__volatile, integer_type_id);
> }
> return integer_type_id__volatile;
> }
> </snip>
> So it is obvious that the C compiler barfs,
> integer_dup and integer_free are never defined.
>
>
> Any help on what I am doing wrong here would be most appreciated!
>
> /Henrik
> ______________________________**_________________
> vala-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/**listinfo/vala-list<http://mail.gnome.org/mailman/listinfo/vala-list>
>

Doesn't seem that you're doing anything wrong. Vala isn't generating the
normal dup and free functions for your simple type struct. I'm going to
check bugzilla if there's a bug about it. This should be removed from the
tutorial considering it doesn't work.
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to