Colors in Raylib
Ali Çehreli
acehreli at yahoo.com
Tue Mar 1 15:37:55 UTC 2022
On 3/1/22 07:19, Mike Parker wrote:
> On Tuesday, 1 March 2022 at 13:15:09 UTC, meta wrote:
>
>>
>> enum Color
>> { GRAY }
>>
>> void setColor(Color color);
>>
>> setColor(GRAY);
>
> Then that defeats the purpose of having named enums.
Yes and no.
meta is pointing at a difference between the above and the following:
writeln(GRAY);
In the latter case, the compiler has no clue whether I intended to type
GRAM. But in the former case, the type is Color. What remains is whether
the compiler should be looking deep into Color and have a list of values
to lower GRAY to Color.GRAY.
We heard this before for the switch statement: When the variable is
Color, the case values can be accepted as Color as well (without the
qualifier). (Yes, 'with' works as well, but the idea is the same.)
It feels the same for even int because we don't write int(42) when
passing an int argument:
void foo(int) {}
foo(int(42)); // works
foo(42); // works as well
So the lack of this compiler help does not bother me but still, I think
the request is meaningful.
Ali
More information about the Digitalmars-d-learn
mailing list