Introducing support for creating structured bindings to tuple-like types.
The difference between binding a tuple-like type and the other cases is that
we have an additional variable that holds the value of evaluating the binding,
this is referred to as HoldingVar.
The HoldingVar cannot be bound directly to the store, as there is no DeclStmt
for it. As a result the idea is to evaluate the initializer of this variable and keep
it alive in the environment with the bindings.
The BindingDecl has access to this initializer, so when it is evaluated, we can
read the value from the environment and bind it to the desired expression.
This approach is still a draft, and has to be tested deeper.
Though we might pass a Mytuple to this function, that has it's fields initialized, so is the warning reported here a bug?