**Describe the issue**
```
SELECT x[1]::UInt64

Syntax error: failed at position 12 ('::')
```

{
        Pos begin = pos;
        if (!parse_element())
        {
            pos = begin;
            return false;
        }
        while (true)
        {
            begin = pos;
            if (!parse_separator() || !parse_element())
            {
                pos = begin;
                return true;
            }
        }
        return false;
    }
    auto getUnionModes() const { return union_modes; }
protected:
    const char * getName() const override { return "list of union elements"; }
    bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
private:
    SelectUnionModes union_modes;
};
/** An expression with an infix binary left-associative operator.
  * For example, a + b - c + d.
  */
class ParserLeftAssociativeBinaryOperatorList : public IParserBase