On Thu, 2008-12-11 at 23:56 -0500, Yu Feng wrote: > On Thu, 2008-12-11 at 22:11 +0100, Jürg Billeter wrote: > > On Wed, 2008-12-03 at 14:05 +0000, Frédéric Gaudy wrote: > > > I don't know if it' a bug or a feature. When I use weak and var > > > keywords, I obtain a error: > > > error: The type name `var' could not be found > > > > > > Code : > > > weak var thread = Thread.create( this.process_thread, true); > > > > I haven't decided yet whether we should support that and if yes, what > > exact syntax to use. In addition to your example, just > > > > weak thread =... > > > > might also be a possibility. I tend to not support it at all at the > > moment and rather try to minimize the number of situations where 'weak' > > is needed. > > I am wondering why you dislike weak so much. It does usually mess stuff > up but it is also good if one knows what she is doing. > It not only saves a ref and unref, but also breaks circular references.
var is only used for local variables and you never need to break circular references with local variables. I only dislike it if it's used to workaround issues with not reference-counted objects. weak is perfectly fine to break circular references, that's the main reason it exists. > Talking about circular references, is it possible to have a circular ref > breaker mechanism like the one in GTK for vala fundamental classes? I don't think we should always add a dispose mechanism to fundamental classes. However, if someone wants to use that, it should still be possible to implement this with a bit of extra Vala code. Jürg _______________________________________________ Vala-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/vala-list
