I have some vague idea about the answers to these questions. Which actually means I have no clue about the answers.
- Why exactly can't structs and enums have
- Do we need move-only struct and enum types, with precise destruction semantics?
- Why exactly can't structs and enums have copy constructors yet?
- Copy constructors seem useful. (why? Swift has survived without them)
- Swift's semantic model (and implementation in SIL) makes liberal use of copying (
copy_valuein SIL) for ease-of-understanding and correctness. Copy constructors can fit into that model, right?
Kudos for holistic, design-rationale-providing answers!