Date
2020-07-03.00:00:00
Message id
11358

Content

There are no expressions of type cv-qualified void because any such expression must be prvalues and [expr.type]/2 states:

If a prvalue initially has the type "cv T", where T is a cv-unqualified non-class, non-array type, the type of the expression is adjusted to T prior to any further analysis.

However, [concept.convertible] p1 states:

Given types From and To and an expression E such that decltype((E)) is add_rvalue_reference_t<From>, convertible_to<From, To> requires E to be both implicitly and explicitly convertible to type To.

When From is cv-qualified void, E does not exist, yet we do want convertible_to<const void, void> to be modeled.