On Tuesday, 20 January 2026 at 19:51:33 UTC, Timon Gehr wrote:
Whether there is a druntime component is an implementation detail (and a lot of existing features require druntime support). However, semantically, I don't think it makes that much sense to add tuples to D that don't behave like `struct`s (except maybe there can be some magic for things like reverse type deduction through tuple literals).

Yes, and compatibility with `std.typecons.Tuple` would be useful. Though it would be nice if slicing produced a tuple rather than a sequence.

Anyway, the unpacking DIP did get accepted recently (and pragmatically, unpacking is really the main thing that is missing in D), so we should try to get the implementation ready to merge. (IIRC there is still a known issue involving an ICE on unpack if a tuple component type has both move and copy constructors.)

I suggest submitting a PR to merge your unpacking branch if you have time. It's already behind a preview flag, so it doesn't have to be perfect. It's easier to test, file bugs and get people to see and fix them when it's in the main repo.


Reply via email to