Distinguish between struct initializer and func literal call expression

This distinguishes between:
```
S s = {1, 2, 3}; // struct init
S s = { return S(1,2,3); }(); // assign expr
```