Syntax sugar for {} with structs
ryuukk_
ryuukk.dev at gmail.com
Wed Jul 6 15:51:56 UTC 2022
On Wednesday, 6 July 2022 at 14:14:09 UTC, Ogi wrote:
> On Friday, 1 July 2022 at 11:51:57 UTC, ryuukk_ wrote:
>> I had to write this recently
>>
>>
>> ```D
>> void reset()
>> {
>> state.end_index = 0;
>> state.buffer_list = SinglyLinkedList!(ubyte[])();
>> }
>> ```
>>
>> While not that bad, it's annoying, why can't we do like like:
>> `A a = {}`?
>>
>>
>> ```D
>> void reset()
>> {
>> state.end_index = 0;
>> state.buffer_list = {};
>> }
>> ```
>
> Um, what’s wrong with `destroy`? It resets any variable to
> initial state (and calls its destructor). Isn’t it what you
> need?
I don't use RAII, destroy does something very specific in my
arena allocator
The problem i have with `destroy` is that it is a global and
universal function that accepts anything
It should be either internal, reserved with a prefix, moved to a
module, or removed
D likes to steal common words that i can't use in my APIs
`debug`, `version`, `init`, `destroy`
It forces me to come up with annoying alternatives
`dbg`, `versionn`, `create`, `dispose` (but i really need
`destroy`)
This is poor design in my opinion
More information about the Digitalmars-d
mailing list