This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of CD1 status.

### 623. `pubimbue` forbidden to call `imbue`

Section: 31.2.1 [iostream.limits.imbue] Status: CD1 Submitter: Martin Sebor Opened: 2007-01-20 Last modified: 2016-01-28

Priority: Not Prioritized

View all issues with CD1 status.

Discussion:

31.2.1 [iostream.limits.imbue] specifies that "no function described in clause 27 except for `ios_base::imbue` causes any instance of `basic_ios::imbue` or `basic_streambuf::imbue` to be called."

That contradicts the Effects clause for `basic_streambuf::pubimbue()` which requires the function to do just that: call `basic_streambuf::imbue()`.

Proposed resolution:

To fix this, rephrase the sentence above to allow `pubimbue` to do what it was designed to do. Specifically. change 31.2.1 [iostream.limits.imbue], p1 to read:

> No function described in clause 27 except for `ios_base::imbue` and `basic_filebuf::pubimbue` causes any instance of `basic_ios::imbue` or `basic_streambuf::imbue` to be called. ...