diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-03-10 18:14:09 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-04-10 16:26:19 +0200 |
commit | e0525d5e7c34a2b46af8e54750f62ed17bdded85 (patch) | |
tree | 3025c75ca2b191db3c52bfcb2f9f7155c8ef77ae | |
parent | f6719bdb25faf8d28a4c646a450d66db38e75b90 (diff) | |
download | vala-e0525d5e7c34a2b46af8e54750f62ed17bdded85.tar.gz |
vala: Allow assignment of 0U to enum types
Don't restrict unsigned 0 literal to flags-enums though.
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/enums/from-0-literal.vala | 21 | ||||
-rw-r--r-- | vala/valaintegertype.vala | 2 |
3 files changed, 23 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index cfe9b25a9..73c87a6b9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -189,6 +189,7 @@ TESTS = \ 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 \ diff --git a/tests/enums/from-0-literal.vala b/tests/enums/from-0-literal.vala new file mode 100644 index 000000000..7f802588d --- /dev/null +++ b/tests/enums/from-0-literal.vala @@ -0,0 +1,21 @@ +enum Foo { + BAR +} + +[Flags] +enum Bar { + FOO +} + +void main () { + { + Foo foo; + foo = 0; + foo = 0U; + } + { + Bar bar; + bar = 0; + bar = 0U; + } +} diff --git a/vala/valaintegertype.vala b/vala/valaintegertype.vala index 53845455a..274fe4716 100644 --- a/vala/valaintegertype.vala +++ b/vala/valaintegertype.vala @@ -59,7 +59,7 @@ public class Vala.IntegerType : ValueType { 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; |