Le jeudi 29 janvier 2015 à 17:46 +0100, yannick inizan a écrit :
add an 'v != null' assertion to avoid GLib Critical error :) 2015-01-29 17:42 GMT+01:00 Guillaume Poirier-Morency <guillaumepoiriermorency gmail com>: Le jeudi 29 janvier 2015 à 16:58 +0100, yannick inizan a écrit : > the old safe method : > > > public static void main (string[] args) { > Value? v = "toto"; > Value val = {}; > val.init (v.type()); > v.copy (ref val); > print ("%s\n", (string)val); > } > > > p.s. : sorry for last message (*$£% gmail) > > 2015-01-29 16:48 GMT+01:00 Guillaume Poirier-Morency > <guillaumepoiriermorency gmail com>: > Le jeudi 29 janvier 2015 à 15:30 +0100, yannick inizan a > écrit : > > Vala translate your cast to a get_<type> function of your > value. > > > > ex: > > Value v = "toto"; > > var val = (string)v; //equals to 'var val = v.get_string();' > > > > so (Value)my_val is impossible because GLib.Value doesn't > have a > > get_value function. > > > > 2015-01-29 15:16 GMT+01:00 Guillaume Poirier-Morency > > <guillaumepoiriermorency gmail com>: > > I am working on Valum, a web micro-framework written > in Vala > > https://github.com/antono/valum > > > > valac is generating very strange code that doesn't > compile. > > > > Part of the framework is about offering facilities > to push > > arbitrary > > values into CTPL template environment. > > > > At some point, I try to case a Value? to a non-null > Value (I > > have of > > course tested the null case, I just want it to pass > under > > --enable-experimental-non-null) > > > > vala --version > > > > Vala 0.26.1 > > > > Here's the use case: > > > > Value? v; > > var val = (Value) v; > > > > The error: > > > > > > lvalue required as unary ‘&’ operand > > > > I attached the full log and the bug is easily > reproducible > > (the sample > > does it). > > > > -- > > Guillaume Poirier-Morency > <guillaumepoiriermorency gmail com> > > > > _______________________________________________ > > vala-list mailing list > > vala-list gnome org > > https://mail.gnome.org/mailman/listinfo/vala-list > > > > > > > > > Thanks for the answer! > > That kind of code should be detected by Vala compiler as an > error. > > What approach would you recommend to cast "Value?" to > "Value" ? > > It's not that bad if it is not yet possible, but I would > really like to > build the whole projet with --enable-experimental-non-null ;) > > > -- > Guillaume Poirier-Morency <guillaumepoiriermorency gmail com> > > Great! That should do the trick for now :) -- Guillaume Poirier-Morency <guillaumepoiriermorency gmail com>
Another of my concern on the matter.. assert_null (null); Doesn't work very nicely. Is it because Vala has a defined null? like Python has for None? and that function checks for a NULL pointer? -- Guillaume Poirier-Morency <guillaumepoiriermorency gmail com>
Attachment:
signature.asc
Description: This is a digitally signed message part