
struct wow {
  int i;
  int a[4];
};

struct wow test[9];

{
  ? test[7].a[3] = test[7].i;
}

//             166: =
//                /   \
//               /     \
//              /       \
//       151: [ ]        \
//            / \         \
//      156: .   3 :146    . :184
//          / \           / \
//         /   a :172    /   \
//  161: [ ]      189: [ ]    i :180
//       / \           / \
//133: test 7 :137    /   \
//              171: test  7 :175


// 121: AST_Declare [99] [113] [-1]  [[typeinfo=-1]]
//  99: AST_TAG "test"  [[typeinfo=-1]]
// 113: AST_TYPE_ArrayOf [93] [108] 0 103 20  [[typeinfo=-1]]
// 108: AST_TYPE_Atom
// 199: AST_SEQ [127] [-1]  [[typeinfo=-1]]
// 127: AST_Scope [194] 219 2  [[typeinfo=-1]]
// 194: AST_SEQ [-1] [166]  [[typeinfo=-1]]
// 166: AST_AssignTo [151] [184]  [[typeinfo=36]]
// 151: AST_Idx [156] [146]  [[typeinfo=36]]
// 156: AST_Member [161] [142]  [[typeinfo=55]]
// 161: AST_Idx [133] [137]  [[typeinfo=93]]
// 133: AST_TAG "test"  [[typeinfo=113]]
// 113: AST_TYPE_ArrayOf [93] [108] 0 103 20  [[typeinfo=-1]]
// 108: AST_TYPE_Atom
// 137: AST_Const 7
// 142: AST_TAG "a"  [[typeinfo=55]]
//  55: AST_TYPE_ArrayOf [36] [50] 0 45 4  [[typeinfo=-1]]
//  36: AST_TYPE_Atom
//  50: AST_TYPE_Atom
// 146: AST_Const 3
// 184: AST_Member [189] [180]  [[typeinfo=10]]
// 189: AST_Idx [171] [175]  [[typeinfo=93]]
// 171: AST_TAG "test"  [[typeinfo=113]]
// 113: AST_TYPE_ArrayOf [93] [108] 0 103 20  [[typeinfo=-1]]
// 108: AST_TYPE_Atom
// 175: AST_Const 7
// 180: AST_TAG "i"  [[typeinfo=10]]
//  10: AST_TYPE_Atom
