```
milovidov-desktop :) SELECT -1::INT

Syntax error: failed at position 10 ('::')
```
{
    ParserUnionQueryElement elem_parser;
    ParserKeyword s_union_parser("UNION");
    ParserKeyword s_all_parser("ALL");
    ParserKeyword s_distinct_parser("DISTINCT");
    ParserKeyword s_except_parser("EXCEPT");
    ParserKeyword s_intersect_parser("INTERSECT");
    ASTs elements;
    auto parse_element = [&]
    {
        ASTPtr element;
        if (!elem_parser.parse(pos, element, expected))
            return false;
        elements.push_back(element);
        return true;
    };
    
    auto parse_separator = [&]
    {
        if (s_union_parser.ignore(pos, expected))
        {
            
            if (s_all_parser.check(pos, expected))
            {
                union_modes.push_back(ASTSelectWithUnionQuery::Mode::ALL);
            }
            
            else if (s_distinct_parser.check(pos, expected))