Re: [Vala] use weak and var together



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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]