[PATCH] D61644: Documentation for bugprone-inaccurate-erase: added an example of a bug that this checker catches

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 8 05:00:25 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rCTE360247: Documentation for bugprone-inaccurate-erase: added an example of a bug that… (authored by gribozavr, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D61644?vs=198492&id=198628#toc

Repository:
  rCTE Clang Tools Extra

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61644/new/

https://reviews.llvm.org/D61644

Files:
  docs/clang-tidy/checks/bugprone-inaccurate-erase.rst


Index: docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
===================================================================
--- docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
+++ docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
@@ -11,3 +11,19 @@
 of the container. These redundant elements must be removed using the
 ``erase()`` method. This check warns when not all of the elements will be
 removed due to using an inappropriate overload.
+
+For example, the following code erases only one element:
+
+.. code-block:: c++
+
+  std::vector<int> xs;
+  ...
+  xs.erase(std::remove(xs.begin(), xs.end(), 10));
+
+Call the two-argument overload of ``erase()`` to remove the subrange:
+
+.. code-block:: c++
+
+  std::vector<int> xs;
+  ...
+  xs.erase(std::remove(xs.begin(), xs.end(), 10), xs.end());


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61644.198628.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190508/3a78236c/attachment-0001.bin>


More information about the cfe-commits mailing list