template<typename CHAR_TYPE>
struct pqxx::internal::disallowed_ambiguous_char_conversion< CHAR_TYPE >
Deliberately nonfunctional conversion traits for char types.
There are no string conversions for char and its signed and unsigned variants. Such a conversion would be dangerously ambiguous: should we treat it as text, or as a small integer? It'd be an open invitation for bugs.
But the error message when you get this wrong is very cryptic. So, we derive dummy string_traits implementations from this dummy type, and ensure that the compiler disallows their use. The compiler error message will at least contain a hint of the root of the problem.