};
template <typename T>
- using stored_type = conditional_t<detail::is_string<T>::value &&
- !has_formatter<T, Context>::value &&
- !detail::is_reference_wrapper<T>::value,
- std::basic_string<char_type>, T>;
+ using stored_type = conditional_t<
+ std::is_convertible<T, std::basic_string<char_type>>::value &&
+ !detail::is_reference_wrapper<T>::value,
+ std::basic_string<char_type>, T>;
// Storage of basic_format_arg must be contiguous.
std::vector<basic_format_arg<Context>> data_;