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

Syntax error: failed at position 10 ('::')
```
data_end = pos->end;
            last_token = pos->type;
            ++pos;
        }
        if (!stack.empty())
            return false;
    }
    ASTPtr type_ast;
    if (ParserToken(TokenType::DoubleColon).ignore(pos, expected)
        && ParserDataType().parse(pos, type_ast, expected))
    {
        String s;
        size_t data_size = data_end - data_begin;
        if (is_string_literal)
        {
            ReadBufferFromMemory buf(data_begin, data_size);
            readQuotedStringWithSQLStyle(s, buf);
            assert(buf.count() == data_size);
        }
        else
            s = String(data_begin, data_size);
        auto literal = std::make_shared<ASTLiteral>(std::move(s));
        node = createFunctionCast(literal, type_ast);
        return true;
    }
    return false;
}
bool ParserCastAsExpression::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)