Re: [Vala] Bad C code generation (lvalue required as unary '&' operand)
- From: yannick inizan <inizan yannick gmail com>
- To: Guillaume Poirier-Morency <guillaumepoiriermorency gmail com>
- Cc: Vala <vala-list gnome org>
- Subject: Re: [Vala] Bad C code generation (lvalue required as unary '&' operand)
- Date: Thu, 29 Jan 2015 17:46:17 +0100
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>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]