The only possible kind of a conversion in initialization of a shared
pointer to an array is a qualification conversion (i.e., adding
cv-qualifiers). This patch adds tests for converting from A[] to
const A[] to the following functions:
template<class Y> explicit shared_ptr(Y* p); template<class Y> shared_ptr(const shared_ptr<Y>& r); template<class Y> shared_ptr(shared_ptr<Y>&& r); template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r); template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r); template<class Y> void reset(Y* p); template<class Y, class D> void reset(Y* p, D d); template<class Y, class D, class A> void reset(Y* p, D d, A a);
Similar tests for converting functions that involve a weak_ptr should
be added once LWG issue 3001
is implemented.
For lurkers: this was most likely an oversight in the original test, since we mean to test the move constructor, not the copy constructor. @var-const told me offline, cause I was puzzled.