Proposed resolution:
This wording is relative to the FDIS.
Change [iostreams.base.overview], header <ios> synopsis as indicated:
#include <iosfwd> namespace std { […] error_code make_error_code(io_errc e) noexcept; error_condition make_error_condition(io_errc e) noexcept; const error_category& iostream_category() noexcept; }
Change the prototype declarations in [error.reporting] as indicated:
error_code make_error_code(io_errc e) noexcept;
-1- Returns: error_code(static_cast<int>(e), iostream_category()).
error_condition make_error_condition(io_errc e) noexcept;
-2- Returns: error_condition(static_cast<int>(e), iostream_category()).
const error_category& iostream_category() noexcept;
-3- Returns: A reference to an object of a type derived from class error_category.
-4- The object’s default_error_condition and equivalent virtual functions shall behave as specified for the class error_category. The object’s name virtual function shall return a pointer to the string "iostream".