…tes.
Fix struct/array index lookup if the previous entry used a designated
initializer, but this particular entry didn't. In that case, our index
is the previous member's index + 1, but we used to use the counter as
index, which is wrong.
Also fix the unit test, which contained code triggering both problems,
which ended up going in an infinite loop.