1 // { dg-do compile { target c++11 } } 2 3 #include <memory> 4 5 // LWG 3548 6 // shared_ptr construction from unique_ptr should move (not copy) the deleter 7 8 struct D 9 { DD10 D() { } DD11 D(D&&) { } operator ()D12 void operator()(int* p) const { delete p; } 13 }; 14 15 std::unique_ptr<int, D> u; 16 std::shared_ptr<int> s1(std::move(u)); 17