>On Sun, Dec 05, 2010 at 17:32:17 +0100, Aleksander Wabik wrote:
>> I'm having class Foo, that is _NOT_ inheriting Object, but it's still
>> a typed class, and it's implementing interface IFoo. This is (or used to
>> be) legal.
>
>No, it is not and never was legal. Interfaces depend on runtime support
>provided by GObject and therefore only classes derived from GLib.Object may
>implement interfaces.
>

Hi Jan,

it was legal and in fact recent valac is still able to compile my other
app, that is using interfaces that do not have GLib.Object as a
prerequisite, and the class that implements these interfaces does not
inherit Object too. As far as I remember, it has always worked this
way, compact classes don't implement interfaces, but typed classes can
dothis even if they don't inherit from GLib.Object. 

I'm attaching a file that shows it (GPL v.2). There's no main() method,
but compiling it to C code (valac -C test.vala) works. This code is a
part of a bigger project and in the executable app it has always worked.
So obviously you don't have to inherit Object to be able to implement
interfaces.

best regards,
AW.

-- 
Mój klucz publiczny o identyfikatorze 1024D/E12C5A4C znajduje się na
serwerze hkp://keys.gnupg.net

My public key with signature 1024D/E12C5A4C is on the server
hkp://keys.gnupg.net

Attachment: test.vala
Description: Binary data

Attachment: signature.asc
Description: PGP signature

_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to