Daemonize v0.1 - simple way to create cross-platform daemons
Meta via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun Aug 31 14:36:02 PDT 2014
On Sunday, 31 August 2014 at 16:01:10 UTC, Philippe Sigaud via
Digitalmars-d-announce wrote:
>> * Custom signals
>
> enum Signal : string
> { ... }
>
> @nogc Signal customSignal(string name) @safe pure nothrow
> {
> return cast(Signal)name;
> }
>
> I didn't know you could have an enum and extend it with a cast
> like this. Wow.
This is not a good thing. Enums are supposed to denote a
*closed*, enumerated set of items. It's fine here (but IMO bad
style) because the author expects there to be user-created values
casted to Signal passed to functions/templates that expect a
Signal, but this would wreak havoc on code that was expecting a
valid enum value (by valid, I mean only one of the predefined
enum values).
More information about the Digitalmars-d-announce
mailing list