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

1293. unique_ptr<T[], D> needs to get rid of unspecified-pointer-type

Section: [unique.ptr.runtime] Status: Resolved Submitter: Daniel Krügler Opened: 2009-12-20 Last modified: 2017-02-03

Priority: Not Prioritized

View all other issues in [unique.ptr.runtime].

View all issues with Resolved status.


Addresses UK 211

As a response to UK 211 LWG issue 1021 has replaced the unspecified-pointer-type by nullptr_t to allow assignment of type-safe null-pointer literals in the non-array form of unique_ptr::operator=, but did not the same for the specialization for arrays of runtime length. But without this parallel change of the signature we have a status quo, where unique_ptr<T[], D> declares a member function which is completely unspecified.

[ 2009-12-21 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]

[ 2010-03-14 Howard adds: ]

We moved N3073 to the formal motions page in Pittsburgh which should obsolete this issue. I've moved this issue to NAD Editorial, solved by N3073.


Solved by N3073.

Proposed resolution:

In [unique.ptr.runtime], class template unique_ptr<T[], D> synopsis, change as indicated:

// assignment
unique_ptr& operator=(unique_ptr&& u);
unique_ptr& operator=(unspecified-pointer-typenullptr_t);