nullptr_t is the C23 distinguished type of the nullptr value. Unlike an ordinary pointer type, it remains separately identifiable, allowing generic selection to recognize nullptr specifically. section 18.2
Selecting a nullptr branch
A type-generic snprintf wrapper can select a special branch when its argument has type nullptr_t: a call using nullptr becomes effectively `(snprintf)(nullptr, 0, format, a, b, c)`, while a buffer selects the reordered `snprintf_swapped(n, buffer, format, a, b, c)` form. section 18.2
Keep this constraint in mind:
- Every choice expression in a _Generic selection must be valid, including branches that will not be evaluated. section 18.2
_Generic(\textit{controlling expression},
\textit{type1}: \textit{expression1},
... ,
\textit{typeN}: \textit{expressionN})
Use the generic-selection form to associate nullptr_t with a specialized expression. section 18.2
