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

### 1153. Standard library needs review for constructors to be explicit to avoid treatment as initializer-list constructor

Section: 16 [library], 32 [thread], D [depr] Status: NAD Submitter: LWG Opened: 2009-06-28 Last modified: 2016-01-28

Priority: Not Prioritized

View other active issues in [library].

View all other issues in [library].

View all issues with NAD status.

Discussion:

Addresses DE 2

Description

Marking a constructor with `explicit` has semantics even for a constructor with zero or several parameters: Such a constructor cannot be used with list-initialization in a copy-initialization context, see 12.2.2.8 [over.match.list]. The standard library apparently has not been reviewed for marking non-single-parameter constructors as `explicit`.

Suggestion

Consider marking zero-parameter and multi-parameter constructors `explicit` in classes that have at least one constructor marked `explicit` and that do not have an initializer-list constructor.

Notes

Robert Klarer to address this one.

[ 2009 Santa Cruz: ]

> Move to "Open". Robert Klarer has promised to provide wording.

[ 2010 Pittsburgh: Moved to NAD, rationale added below. ]

Rationale:

We are unaware of any cases where initializer lists cause problem in this context, but if problems arise in the future the issue can be reopened.

Proposed resolution: