Syntax sugar for {} with structs
Petar
Petar
Tue Jul 5 17:56:05 UTC 2022
On Friday, 1 July 2022 at 21:01:43 UTC, Paul Backus wrote:
> Maybe if the proposal were for some kind of "struct literals",
> rather than just `{}` by itself, it would be more attractive.
That would be this issue:
https://issues.dlang.org/show_bug.cgi?id=15692.
Rephrasing the example from the second comment:
```d
auto img = createImage(device, VkImageCreateInfo {
imageType: VkImageType.VK_IMAGE_TYPE_2D,
format: VkFormat.VK_FORMAT_R8G8B8A8_UNORM,
extent: image.size,
mipLevels: image.mipLevels,
arrayLayers: image.layers,
samples: VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT,
tiling: VkImageTiling.VK_IMAGE_TILING_LINEAR,
//VK_IMAGE_TILING_OPTIMAL,
usage: VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT,
sharingMode: VkSharingMode.VK_SHARING_MODE_EXCLUSIVE,
initialLayout: VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED,
});
// Or C#-style "target-typed `new`" / C++-style aggregate
initialization
auto img = createImage(device, {
imageType: VkImageType.VK_IMAGE_TYPE_2D,
format: VkFormat.VK_FORMAT_R8G8B8A8_UNORM,
extent: image.size,
mipLevels: image.mipLevels,
arrayLayers: image.layers,
samples: VkSampleCountFlagBits.VK_SAMPLE_COUNT_1_BIT,
tiling: VkImageTiling.VK_IMAGE_TILING_LINEAR,
//VK_IMAGE_TILING_OPTIMAL,
usage: VkImageUsageFlagBits.VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
VkImageUsageFlagBits.VK_IMAGE_USAGE_SAMPLED_BIT,
sharingMode: VkSharingMode.VK_SHARING_MODE_EXCLUSIVE,
initialLayout: VkImageLayout.VK_IMAGE_LAYOUT_PREINITIALIZED,
});
```
More information about the Digitalmars-d
mailing list