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.
686.unique_ptr
and shared_ptr
fail to specify non-convertibility to int for unspecified-bool-type
Section: 20.3.1.3.5 [unique.ptr.single.observers], 20.3.2.2.6 [util.smartptr.shared.obs] Status: NAD Submitter: Beman Dawes Opened: 2007-06-14 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [unique.ptr.single.observers].
View all issues with NAD status.
Discussion:
The standard library uses the operator unspecified-bool-type() const
idiom in five places. In three of those places (22.10.17.3.4 [func.wrap.func.cap], function capacity for example) the returned value is constrained to disallow unintended conversions to int. The standardese is
The return type shall not be convertible to
int
.
This constraint is omitted for unique_ptr
and shared_ptr
. It should be added for those.
[ Bellevue: ]
Close as NAD. Accepting paper N2435 makes it irrelevant.
Proposed resolution:
To the Returns paragraph for operator unspecified-bool-type() const
of 20.3.1.3.5 [unique.ptr.single.observers] paragraph 11 and 20.3.2.2.6 [util.smartptr.shared.obs] paragraph 16, add the sentence:
The return type shall not be convertible to
int
.
[ Kona (2007): Uncertain if nullptr
will address this issue. ]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4