Remove pessimized usages of MakeFlatMap and MakeFlatSet These call sites try to move a container into MakeFlatMap or MakeFlatSet without transforming it (due to the use of the identity projection and lack of implicit conversions), but those utilities take the input container by const reference, which means that the container isn't moved at all, resulting in both pointless copies of the individual elements and allocation of a separate container. We replace these unnecessary calls with direct uses of the flat_map and flat_set constructors, which do accept containers by move. Ideally MakeFlatMap and MakeFlatSet would be adjusted to prevent this pessimization automatically, either by making this situation a compile-time error or by accepting a forwarding reference with some kind of dispatch based on whether the projection is the identity, but that is outside the scope of this CL. Change-Id: Id94c6cb18082b7fbd10e1a4ed072199c8c16851f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5982875 Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Evan Stade <estade@chromium.org> Reviewed-by: Russ Hamilton <behamilton@google.com> Cr-Commit-Position: refs/heads/main@{#1377668}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.