From Jason Turner

[unique.ptr.dltr.dflt1]

Diff to HTML by rtfpessoa

tmp/tmp32k18_ri/{from.md → to.md} RENAMED
@@ -12,21 +12,20 @@ namespace std {
12
 
13
  ``` cpp
14
  template<class U> default_delete(const default_delete<U[]>& other) noexcept;
15
  ```
16
 
17
- *Effects:* constructs a `default_delete` object from another
 
 
18
  `default_delete<U[]>` object.
19
 
20
- *Remarks:* This constructor shall not participate in overload resolution
21
- unless `U(*)[]` is convertible to `T(*)[]`.
22
-
23
  ``` cpp
24
  template<class U> void operator()(U* ptr) const;
25
  ```
26
 
 
 
 
 
27
  *Effects:* Calls `delete[]` on `ptr`.
28
 
29
- *Remarks:* If `U` is an incomplete type, the program is ill-formed. This
30
- function shall not participate in overload resolution unless `U(*)[]` is
31
- convertible to `T(*)[]`.
32
-
 
12
 
13
  ``` cpp
14
  template<class U> default_delete(const default_delete<U[]>& other) noexcept;
15
  ```
16
 
17
+ *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
18
+
19
+ *Effects:* Constructs a `default_delete` object from another
20
  `default_delete<U[]>` object.
21
 
 
 
 
22
  ``` cpp
23
  template<class U> void operator()(U* ptr) const;
24
  ```
25
 
26
+ *Mandates:* `U` is a complete type.
27
+
28
+ *Constraints:* `U(*)[]` is convertible to `T(*)[]`.
29
+
30
  *Effects:* Calls `delete[]` on `ptr`.
31