digitalmars.D - In-place struct initialization
- test123 (3/3) May 02 2022 https://github.com/dlang/DIPs/pull/22
- test123 (10/13) May 02 2022 Wilzbach ask Andrei Alexandrescu to comment at this link:
- Salih Dincer (12/20) May 03 2022 Do I need to know the name of the members in a struct? Isn't it
- test123 (16/32) May 03 2022 consider this code:
- Paul Backus (12/25) May 03 2022 This will be covered by DIP 1030, "Named Arguments":
- test123 (5/16) May 04 2022 This will work for most use case, if you add a verbose this
- Salih Dincer (11/22) May 04 2022 ```d
https://github.com/dlang/DIPs/pull/22 https://github.com/dlang/DIPs/pull/71 6 year passed, any idea when this will be done ?
May 02 2022
On Tuesday, 3 May 2022 at 06:38:34 UTC, test123 wrote:https://github.com/dlang/DIPs/pull/22 https://github.com/dlang/DIPs/pull/71 6 year passed, any idea when this will be done ?Wilzbach ask Andrei Alexandrescu to comment at this link: https://github.com/dlang/dmd/pull/8460#issuecomment-438920811 Almost 4 year passed and no comment yet. Maybe Andrei Alexandrescu has response on the form or other place, but he should has the courtesy to add comment to github too. Maybe this is why D unpopular. Newbie come here and find the problem and solution, but D core team don't care to comment or merge it for 5 year. This is sure to scare a lot of people away.
May 02 2022
On Tuesday, 3 May 2022 at 06:38:34 UTC, test123 wrote:https://github.com/dlang/DIPs/pull/22 https://github.com/dlang/DIPs/pull/71 6 year passed, any idea when this will be done ?Do I need to know the name of the members in a struct? Isn't it easier to use it unknowingly and directly? ```d assert(Extremes(1, 100).gaussSum == 5050); //auto t2 = Extremes(minor:12, major:99) Extremes(12, 99).gaussSum(3).writeln; // 1665 ``` On Tuesday, 3 May 2022 at 06:48:36 UTC, test123 wrote:[...] Maybe this is why D unpopular. Newbie come here and find the problem and solution, but D core team don't care to comment or merge it for 5 year. This is sure to scare a lot of people away.I think you have to think well. There may be another reason for this. SDB 79
May 03 2022
On Tuesday, 3 May 2022 at 08:28:32 UTC, Salih Dincer wrote:Do I need to know the name of the members in a struct? Isn't it easier to use it unknowingly and directly? ```d assert(Extremes(1, 100).gaussSum == 5050); //auto t2 = Extremes(minor:12, major:99) Extremes(12, 99).gaussSum(3).writeln; // 1665 ``` On Tuesday, 3 May 2022 at 06:48:36 UTC, test123 wrote:consider this code: ```d struct Test { string tag; string logger; bool profile; int verbose; } Test({verbose:true) void doTest(){ } ``` With in-place struct initialization you need pass all arguments. Beside this, the work is not worth to merge can not be the reason to ignore the request to comment on github.[...] Maybe this is why D unpopular. Newbie come here and find the problem and solution, but D core team don't care to comment or merge it for 5 year. This is sure to scare a lot of people away.I think you have to think well. There may be another reason for this. SDB 79
May 03 2022
On Tuesday, 3 May 2022 at 09:56:36 UTC, test123 wrote:consider this code: ```d struct Test { string tag; string logger; bool profile; int verbose; } Test({verbose:true) void doTest(){ } ``` With in-place struct initialization you need pass all arguments.This will be covered by DIP 1030, "Named Arguments": https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1030.md The DIP has already been accepted, and work is currently in-progress to implement it in the compiler. Once it is finished, you will be able to write code like the following: ```d Test(verbose: true) void doTest() { // ... } ```
May 03 2022
On Tuesday, 3 May 2022 at 13:47:54 UTC, Paul Backus wrote:This will be covered by DIP 1030, "Named Arguments": https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1030.md The DIP has already been accepted, and work is currently in-progress to implement it in the compiler. Once it is finished, you will be able to write code like the following: ```d Test(verbose: true) void doTest() { // ... } ```This will work for most use case, if you add a verbose this __ctor to struct all struct. If D support In-place struct initialization , then the __ctor is no need for a lot case.
May 04 2022
On Tuesday, 3 May 2022 at 13:47:54 UTC, Paul Backus wrote:On Tuesday, 3 May 2022 at 09:56:36 UTC, test123 wrote:```d Test test = { verbose = 100, tag = "default", logger = "files...", profile = true }; ``` Will this use case remain in effect? A lot of its useful! Thanks...consider this code: ```d struct Test { string tag; string logger; bool profile; int verbose; } ```
May 04 2022