mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-26 19:35:12 +00:00
The new expr::visit() is just a wrapper around std::visit(), but has better constraints. A call to expr::visit() with a visitor that misses an overload will produce an error message that points at the missing type. This is done using the new invocable_on_expression concept. Note it lists the expression types one by one rather than using template magic, since otherwise we won't get the nice messages. Later, we will change the implementation when expression becomes our own type rather than std::variant. Call sites are updated.