Page MenuHomePhabricator

Fix clang-tidy readability-const-return-type violations
Needs ReviewPublic

Authored by PiRK on Sat, May 10, 10:45.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

This comes up during review, so instead of wasting review cycles on this, just enforce it via CI

From the clang-tidy doc:

Such use of const is usually superfluous, and can prevent valuable compiler optimizations. Does not (yet) fix trailing return types.

I have never seen it mentioned in our reviews, but my IDE flags these issues, and it can maybe save us some merge conflicts during backports.

This is a backport of core#26395
Depends on D18073

Test Plan
cmake .. -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_CLANG_TIDY=ON
ninja all check-all

Event Timeline

PiRK requested review of this revision.Sat, May 10, 10:45

Tail of the build log:

[389/581] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[390/581] Linking C executable src/secp256k1/ecmult-bench
[391/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[392/581] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[393/581] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[394/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[395/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[396/581] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[397/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[398/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[399/581] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o
[400/581] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o
[401/581] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[402/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[403/581] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[404/581] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[405/581] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[406/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[407/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[408/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[409/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[410/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[411/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[412/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[413/581] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
[414/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[415/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[416/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[417/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[418/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[419/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[420/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[421/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[422/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[423/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[424/581] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[425/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[426/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[427/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[428/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[429/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[430/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[431/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[432/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[433/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[434/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[435/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[436/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[437/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[438/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[439/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[440/581] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[441/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[442/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[443/581] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[444/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[445/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[446/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1

The CI found more, confirmed locally by nuking the build dir & ccache and restarting the compilation from scratch