contract C {
  struct S { function() returns (S storage)[] x; }
  S s;
  function f() internal pure returns (uint, uint, uint, S storage, uint, uint) {
    (,,,s.x[2](),,) = f();
  }
}
// ----
// TypeError 4247: (160-168): Expression has to be an lvalue.
