1 // P0614R1
2 // { dg-do run }
3 // { dg-options "-std=c++2a" }
4 
5 struct A { int i; long long j; } a[64];
6 
7 int
main()8 main ()
9 {
10   A b = { 1, 2 };
11   for (auto & [ u, v ] : a)
12     {
13       u = 2;
14       v = 3;
15     }
16 
17   for (auto [x, y] = b; auto [ u, v ] : a)
18     if (y + u != x + v)
19       __builtin_abort ();
20 
21   for (auto [x, y] = b; auto & [ u, v ] : a)
22     if (y + u != x + v)
23       __builtin_abort ();
24 }
25