<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92954>92954</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
deleting constructors/assignment operators should not invoke warning about not changing the other constructors.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sbromberger
</td>
</tr>
</table>
<pre>
Consider the following code:
```
struct S {
S(const S &) = delete;
void operator=(const S &) = delete;
};
```
`clang-tidy` (version 17.0.6) warns:
> Class 'S' defines a copy constructor and a copy assignment operator but does not define a destructor, a move constructor or a move assignment operator (cppcoreguidelines-special-member-functions)
This seems to me to be incorrect, in that only deleting constructors/assignment operators should not result in a violation of the Rule of 5.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycU9FuozoQ_RrzMgoCk5DwwEPb3HzA7f6AsQfwrvEgj50qf78ySdut1IfVSgjMYebonDODYraTR-zF4VkczoVKcabQ8xBoGTBMGIqBzK1_Ic_WYIA4I4zkHL1ZP4Emg6J5EtVZVE-irR7X9soxJB3hFcTxGe4QvAp50uR5g2UrZAeiOYNBhxFF8_woA4ArWQO0YlCRgmjOf9UojufP81c1H6B2yk-7aM1NtBUIebpiYEse6mNZlRvzmwqeP201_8GLU8wg5PFVyCMYHK1HBgWa1htsurJXCqC8eYfv0S7o44cPGFIEQ8jgKT5oQIHB934hX0DBQlf8wpqJ7-h3pDmaddUUcErWoMvadryitsrtFsxz3I3J62jJs5Ddn4H8mC0DIy4MkWDBfB8QrNcUAuqYBVkPcVYRyLvbPfH76D_0sZCXb4Qx8EzJmc1sQE4uZi4FV0tOZTVA47ZQ_yeH-XwoC9M3pms6VWBfH-u2qU9H2RVzf6q6sdWjGrtRm3rfYt3WnekaWetxbLUubC8rua8Osq67WlZdeRrHtmqbqlVq34yDEvsKF2Vd6dx1KSlMhWVO2HeyO-wLpwZ0_P4bhD4X7YY0sdhXznLkz7Zoo8P-X4Ow_kq_cNux3K0GSnH7oGflpwzlRCjOGL5Ql0UKrp9jXLfVlBchL5ONcxpKTYuQl6zv8ditgX5u07tsHrOuzebvAAAA__-pa0s3">