Comment #0 by dlang-bugzilla — 2009-06-14T10:55:02Z
=== Testcase ===
enum Enum : ubyte
{
Test
}
void main()
{
ubyte[] array;
array = array ~ [Enum.Test];
}
=== Compiler output ===
test.d(9): Error: incompatible types for ((array) ~ ([cast(Enum)cast(ubyte)0u])): 'ubyte[]' and 'Enum[1u]'
test.d(9): Error: Can only concatenate arrays, not (int ~ int)
test.d(9): Error: cannot implicitly convert expression (__error ~ __error) of type int to ubyte[]
=== Testcase end ===
This seems to be a very specific bug, in that changing many of the factors allows the code to compile. For example, changing the concatenation to an append (~=) or removing the enum name (Enum) will both allow the code to compile. Removing the square brackets around Enum.Test has no effect.