Why is this not allowed?
ryuukk_
ryuukk.dev at gmail.com
Sat Oct 5 16:55:30 UTC 2024
On Saturday, 5 October 2024 at 16:40:46 UTC, Salih Dincer wrote:
> On Saturday, 5 October 2024 at 06:35:57 UTC, ryuukk_ wrote:
>>
>> No, i don't want to do:
>>
>>
>> ```C
>> struct EntityDef
>> {
>> struct Stats
>> {
>> int hp;
>> } stats;
>> }
>> ```
>>
>> Repeating the same name 3 times, i should go back to the stone
>> age too no?
>>
>> C and all other C like languages allow me to be concise
>>
>> Why is it a D thing to be backward?
>
> In the coding scheme, fields/members/methods may be at the
> beginning, middle, or end of the structure, or may not be
> identifiers to the right of the anonymous structs. In
> structures, a lot (I wish it was in bitfield) has been taken
> from C. Especially not using typedef and not having extra
> semicolons make D stand out even with these. As for anonymous
> structures, they have to be like this in order to be used with
> unions.
>
> I think everything is as it should be, and even more: Please
> include the relevant comment line (the // characters next to
> the anonymous struct) in the code and be amazed by the change :)
>
> ```d
> struct Foo
> {
> int bar;
>
> //struct {/*
> Baz baz;
> struct Baz
> {
> auto opAssign(int value)
> => baz = value;//*/
> int baz;
> }
> }
>
> void main()
> {
> Foo foo;
> foo.bar = 7;
> foo.baz = 42;
>
> imported!"std.stdio".writeln(foo); /*
> with opAssign() Anonymous
> Foo(7, Baz(42)) or Foo(7, 42) */
> }
> ```
>
> Thank you to the creators and maintainers of the D.
>
> SDB at 79
I'll pretend you didn't say anything, because your solution is
just bad
More information about the Digitalmars-d-learn
mailing list