digitalmars.dip.ideas - Copying POD structs with 'new'
- Paul Backus (18/18) Mar 14 Copying [POD structs][1] with `new` is currently harder than it
- Atila Neves (2/6) Mar 24 Makes sense to me.
Copying [POD structs][1] with `new` is currently harder than it needs to be. It would be easier if the following code were allowed to compile: struct Example { int x, y; } Example original = { 123, 456 }; Example* copyPtr = new Example(original); // copies original onto the heap Currently, this code fails to compile, because `Example` does not have a copy constructor. The proposed behavior is that, because `Example` is a POD struct, it should not require a copy constructor—the compiler can simply generate code that performs a bit copy. This was originally requested in 2014 in [Bugzilla issue 12918][2]. It came up again recently in [DMD issue 20950][3], regarding placement `new`. [1]: https://dlang.org/spec/struct.html#POD [2]: https://issues.dlang.org/show_bug.cgi?id=12918 [3]: https://github.com/dlang/dmd/issues/20950
Mar 14
On Friday, 14 March 2025 at 23:50:53 UTC, Paul Backus wrote:Copying [POD structs][1] with `new` is currently harder than it needs to be. It would be easier if the following code were allowed to compile: [...]Makes sense to me.
Mar 24