On Monday, 12 January 2026 at 11:40:07 UTC, Vitaliy Fadeev wrote:
On Monday, 12 January 2026 at 11:28:01 UTC, user1234 wrote:
On Monday, 12 January 2026 at 10:55:34 UTC, Vitaliy Fadeev wrote:
Hi! Did we know you could do this?
To make the `enum` inside the `case` easier to read:

[...]

Check the **with (Event.Type)**.

Yes this is a well known idiom, see https://p0nce.github.io/d-idioms/#Qualified-switch-using-with.

Wow! This looks great! Thanks!

To go further, while this trick is great, there's been discussions [last years](https://forum.dlang.org/thread/[email protected]) about _Parent Enum Inference_. Instead of

```
bitset |= 1 << EnumType.enumerator;
```

people want to the language to allow writing

```
bitset |= 1 << .enumerator; // EnumType can be infered from the OrAssign LHS
```

in this case `with` is of no help because it introduces a scope, because it's not an expression, and finally because it's only used once.

Reply via email to