[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
Tue May 7 09:45:08 PDT 2019


gribozavr created this revision.
gribozavr added a reviewer: alexfh.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D61644

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


Index: clang-tools-extra/docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
===================================================================
--- clang-tools-extra/docs/clang-tidy/checks/bugprone-inaccurate-erase.rst
+++ clang-tools-extra/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.198492.patch
Type: text/x-patch
Size: 868 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190507/3d901b85/attachment.bin>


More information about the cfe-commits mailing list