On Friday, 12 January 2018 at 22:44:48 UTC, Timon Gehr wrote:
[...]
This DIP aims to make code like the following valid D:
---
auto (a, b) = (1, 2);
(int a, int b) = (1, 2);
---
[...]
How is (1, 2) different from [1, 2] (static array)? It makes no
sense to me to have both and probably a bunch of conversion
rules/functions.
Why don't you consider extending (type-homogeneous) static arrays
to (finite type enumerated) tuples? It solves
- 1-tuples
- comma operator vs. tuple literal
instantly.
You'd have T[n] as an alias for the tuple type consisting of n
objects of type T.
I've written something about that here:
https://forum.dlang.org/post/[email protected]
(sorry for my bad English in that post)
The main reason I'd vote against the DIP: Parenthesis should only
be used for operator precedence and function calls.