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