namespace std {
template<class T> struct default_delete {
constexpr default_delete() noexcept = default;
template<class U> default_delete(const default_delete<U>&) noexcept;
void operator()(T*) const;
};
} template<class U> default_delete(const default_delete<U>& other) noexcept;
void operator()(T* ptr) const;