Have this warning while building current master (0bd4929cd00e91bf4137f43b097cd62f72f503e4) on one test machine.
```
wallet/rpcwallet.cpp: In function 'rescanblockchain()::<lambda(const RPCHelpMan&, const JSONRPCRequest&)>':
wallet/rpcwallet.cpp:3596:19: warning: '*((void*)& stop_height +4)' may be used uninitialized in this function [-Wmaybe-uninitialized]
 3596 |     Optional<int> stop_height;
      |                   ^~~~~~~~~~~
```
```
$ gcc --version
gcc (Gentoo 9.2.0-r2 p3) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname -a
Linux red-box 4.19.72-gentoo #2 SMP Sun Sep 22 03:00:01 EEST 2019 x86_64 Intel(R) Pentium(R) CPU N3710 @ 1.60GHz GenuineIntel GNU/Linux
```
{"conf_target", RPCArg::Type::NUM,  "wallet -txconfirmtarget", "Confirmation target (in blocks)\n"
                             "or fee rate (for " + CURRENCY_UNIT + "/kB and " + CURRENCY_ATOM + "/B estimate modes)"},
                    {"fee_rate", RPCArg::Type::NUM,  "fall back to 'conf_target'", "fee rate (NOT total fee) to pay, in " + CURRENCY_UNIT + "/kB.\n"
                             "Specify a fee rate instead of relying on the built-in fee estimator.\n"
                             "Must be at least 0.0001 " + CURRENCY_UNIT + "/kB higher than the current transaction fee rate.\n"},
                    {"replaceable", RPCArg::Type::BOOL,  "true", "Whether the new transaction should still be\n"
                             "marked bip-125 replaceable. If true, the sequence numbers in the transaction will\n"
                             "be left unchanged from the original. If false, any input sequence numbers in the\n"
                             "original transaction that were less than 0xfffffffe will be increased to 0xfffffffe\n"
                             "so the new transaction will not be explicitly bip-125 replaceable (though it may\n"
                             "still be replaceable in practice, for example if it has unconfirmed ancestors which\n"
                             "are replaceable)."},
                    {"estimate_mode", RPCArg::Type::STR,  "unset", std::string() + "The fee estimate mode, must be one of (case insensitive):\n"
    "         \"" + FeeModes("\"\n\"") + "\""},
                },
                "options"},
        },
        RPCResult{
            RPCResult::Type::OBJ, "", "", Cat(Cat<std::vector<RPCResult>>(
            {
                {RPCResult::Type::STR, "psbt", "The base64-encoded unsigned PSBT of the new transaction." + std::string(want_psbt ? "" : " Only returned when wallet private keys are disabled. (DEPRECATED)")},
            },
            want_psbt ? std::vector<RPCResult>{} : std::vector<RPCResult>{{RPCResult::Type::STR_HEX, "txid", "The id of the new transaction. Only returned when wallet private keys are enabled."}}
            ),
            {
                {RPCResult::Type::STR_AMOUNT, "origfee", "The fee of the replaced transaction."},
                {RPCResult::Type::STR_AMOUNT, "fee", "The fee of the new transaction."},
                {RPCResult::Type::ARR, "errors", "Errors encountered during processing (may be empty).",
                {
                    {RPCResult::Type::STR, "", ""},