Revised DIP Info
Andre Pany via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Wed Jun 14 03:32:50 PDT 2017
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é
More information about the Digitalmars-d-announce
mailing list