From Jason Turner

[basic.stc.dynamic.deallocation]

Diff to HTML by rtfpessoa

tmp/tmp6dbbehx1/{from.md → to.md} RENAMED
@@ -1,11 +1,9 @@
1
  ##### Deallocation functions <a id="basic.stc.dynamic.deallocation">[[basic.stc.dynamic.deallocation]]</a>
2
 
3
- Deallocation functions shall be class member functions or global
4
- functions; a program is ill-formed if deallocation functions are
5
- declared in a namespace scope other than global scope or declared static
6
- in global scope.
7
 
8
  A deallocation function is a *destroying operator delete* if it has at
9
  least two parameters and its second parameter is of type
10
  `std::destroying_delete_t`. A destroying operator delete shall be a
11
  class member function named `operator delete`.
@@ -19,11 +17,11 @@ first parameter shall be `C*`; otherwise, the type of its first
19
  parameter shall be `void*`. A deallocation function may have more than
20
  one parameter. A *usual deallocation function* is a deallocation
21
  function whose parameters after the first are
22
 
23
  - optionally, a parameter of type `std::destroying_delete_t`, then
24
- - optionally, a parameter of type `std::size_t` [^15], then
25
  - optionally, a parameter of type `std::align_val_t`.
26
 
27
  A destroying operator delete shall be a usual deallocation function. A
28
  deallocation function may be an instance of a function template. Neither
29
  the first parameter nor the return type shall depend on a template
 
1
  ##### Deallocation functions <a id="basic.stc.dynamic.deallocation">[[basic.stc.dynamic.deallocation]]</a>
2
 
3
+ A deallocation function that is not a class member function shall belong
4
+ to the global scope and not have a name with internal linkage.
 
 
5
 
6
  A deallocation function is a *destroying operator delete* if it has at
7
  least two parameters and its second parameter is of type
8
  `std::destroying_delete_t`. A destroying operator delete shall be a
9
  class member function named `operator delete`.
 
17
  parameter shall be `void*`. A deallocation function may have more than
18
  one parameter. A *usual deallocation function* is a deallocation
19
  function whose parameters after the first are
20
 
21
  - optionally, a parameter of type `std::destroying_delete_t`, then
22
+ - optionally, a parameter of type `std::size_t`,[^12] then
23
  - optionally, a parameter of type `std::align_val_t`.
24
 
25
  A destroying operator delete shall be a usual deallocation function. A
26
  deallocation function may be an instance of a function template. Neither
27
  the first parameter nor the return type shall depend on a template