https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109922
Jiang An <de34 at live dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |de34 at live dot cn --- Comment #2 from Jiang An <de34 at live dot cn> --- In some prehistoric working drafts, several manipulators were required to return a single smanip type, and only the common base class (ios_base, or ios in earlier drafts) is used in the wording (e.g. https://open-std.org/JTC1/SC22/WG21/docs/wp/html/jun96/lib-iostreams.html), which made them usable with both both input and output. The requirements was removed by N0958 (https://www.open-std.org/jtc1/sc22/wg21/docs/papers/1996/N0958.pdf), and then setfill and its friends are only required to be usable with operator<<.