In C++ I very often find myself wanting to have the ability to define a type inline - e.g. my ideal syntax would look like
int z = 1;
auto x = [=] { .foo = z, .bar = {4,5,6}, .baz = "" };
Combined with the ability to introspect things at compile-time available in c++20, I think that this would get 99% there for common data-oriented design designs, without the need for a completely new programming language such as Ballerina.
I imagine this creates a std::tuple, which causes a lot of template instantiations and is the main offender for debug compile-times though. But yes, that's pretty much what I'm looking for :-)
It is not an std::tuple, but the moral equivalent. I haven't tested the compile time beyond trivial tests, but it not going to be great. The $ macro itself expands to a non-trivial amount of code.