On Monday, 12 June 2017 at 17:51:05 UTC, Mike Parker wrote:
Now that I've got a few DIP reviews under my belt, I've got a good enough handle on the process to lay it out in documentation form. To that end [1], I've kept the general structure that Dicebot initially set down, changing the details to better reflect my view of how it should all work (I still need to update the existing DIPs to reflect a couple of changes). I've also revised Dicebot's guidelines on DIP writing [2]. Much of his original advice is still there. That document is sure to evolve.

Feedback on all of this is welcome.

While I have your attention, Sebastian recently revived an old DIP on in-place struct initialization. I invite everyone to come and give feedback on that [3], but *please* read the updated README before doing so, particularly the section titled 'Review Process' so you can fully understand what's expected of reviews at this stage of the process (what I now call the 'Draft Review' stage). I haven't looked at it yet, but I expect to do so next week.

I still need to review the recent updates to Zach Tollen's proposal [4] (Improve Contract Usability), and if all checks out I'll be merging it as DIP 1009. You can expect the first review round shortly thereafter.


[1] https://github.com/dlang/DIPs/blob/master/README.md
[2] https://github.com/dlang/DIPs/blob/master/GUIDELINES.md
[3] https://github.com/dlang/DIPs/pull/71
[4] https://github.com/dlang/DIPs/pull/66

Hi,

the work on this dip is highly appreciated. For my AWS SDK this DIP would make the coding much more readable and also smaller for several use cases.

I generate structures out of the AWS API information. Several UDA information has to be stored. Struct initializer for UDA structures will look great:

struct CreateTableInput
{
        @FieldInfo({memberName: "TableName"})
        TableName tableName;

        @FieldInfo({memberName: "AttributeDefinitions", minLength: 1})
        AttributeDefinitions attributeDefinitions;
}


Second scenario is the actual usage of these structs. Using struct initializer in method signature feels natural:

invoker.execute([
        new CreateBucketCommand(client, {
                bucket: "MyBucket1",
                createBucketConfiguration: {
                        locationConstraint: 
BucketLocationConstraint.EU_CENTRAL_1
                }
        }),
        new CreateBucketCommand(client, {
                bucket: "MyBucket2",
                createBucketConfiguration: {
                        locationConstraint: 
BucketLocationConstraint.EU_CENTRAL_1
                }
        })
]);

Kind regards
André


Reply via email to