Don't restrict unsigned 0 literal to flags-enums though.
enums/enum-no-gtype.vala \
enums/enums.vala \
enums/flags.vala \
+ enums/from-0-literal.vala \
enums/no_gtype_to_string.vala \
enums/bug666035.vala \
enums/bug673879.vala \
--- /dev/null
+enum Foo {
+ BAR
+}
+
+[Flags]
+enum Bar {
+ FOO
+}
+
+void main () {
+ {
+ Foo foo;
+ foo = 0;
+ foo = 0U;
+ }
+ {
+ Bar bar;
+ bar = 0;
+ bar = 0U;
+ }
+}
return true;
}
}
- } else if (target_type.data_type is Enum && literal_type_name == "int") {
+ } else if (target_type.data_type is Enum && (literal_type_name == "int" || literal_type_name == "uint")) {
// allow implicit conversion from 0 to enum and flags types
if (int.parse (literal_value) == 0) {
return true;