See title. Fixing these would otherwise be a continuous process, adding the warning should keep them from cropping up. Note that the warning seems to be Clang-only for now.
Some more explanations from the PR comments:
From the pull-request to llvm that added the feature, it warns about:
for (const Foo &x : Foos), where the range Foos does not return
a copy. This warning will suggest using the non-reference type so the
copy is obvious.
for (const Foo x : Foos), where the range Foos does return a
reference, but is copied into x. This warning will suggest using the
reference type to prevent a copy from being made.
for (const Bar &x : Foos), where Bar is constructed from Foo. In
this case, suggest using the non-reference "const Bar" to indicate a
copy is intended to be made, or "const Foo &" to prevent a copy from
being made.Backport of core PR13480
https://github.com/bitcoin/bitcoin/pull/13480/files
Depends on D3795.