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>
Attachment:
signature.asc
Description: This is a digitally signed message part