https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109162
--- Comment #22 from Tomasz KamiĆski <tkaminsk at gcc dot gnu.org> --- > That is highly intentional to fix incorrect formatting when the container is > a string. See https://cplusplus.github.io/LWG/issue3881 I am well aware of this quirk, but my implementation uses range_formatter<char> in this case, and also produce sequence of characters, instead of string presentation. See corresponding test case: ``` // Sequence output is always used std::queue<_CharT, std::basic_string<_CharT>> qs( std::from_range, std::basic_string_view<_CharT>(WIDEN("321"))); res = std::format(WIDEN("{}"), qs); VERIFY( res == WIDEN("['3', '2', '1']") ); ``` So I still see no reason to using formatter<ref_view<R>> over range_formatter.