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)"},
            {"estimate_mode", RPCArg::Type::STR,  "unset", std::string() + "The fee estimate mode, must be one of (case insensitive):\n"
                        "       \"" + FeeModes("\"\n\"") + "\""},
            {"options", RPCArg::Type::OBJ, RPCArg::Optional::OMITTED_NAMED_ARG, "",
                {
                    {"add_inputs", RPCArg::Type::BOOL,  "false", "If inputs are specified, automatically include more if they are not enough."},
                    {"add_to_wallet", RPCArg::Type::BOOL,  "true", "When false, returns a serialized transaction which will not be added to the wallet or broadcast"},
                    {"change_address", RPCArg::Type::STR_HEX,  "pool address", "The bitcoin address to receive the change"},
                    {"change_position", RPCArg::Type::NUM,  "random", "The index of the change output"},
                    {"change_type", RPCArg::Type::STR,  "set by -changetype", "The output type to use. Only valid if change_address is not specified. Options are \"legacy\", \"p2sh-segwit\", and \"bech32\"."},
                    {"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)"},
                    {"estimate_mode", RPCArg::Type::STR,  "unset", std::string() + "The fee estimate mode, must be one of (case insensitive):\n"
            "       \"" + FeeModes("\"\n\"") + "\""},
                    {"include_watching", RPCArg::Type::BOOL,  "true for watch-only wallets, otherwise false", "Also select inputs which are watch only.\n"
                                          "Only solvable inputs can be used. Watch-only destinations are solvable if the public key and/or output script was imported,\n"
                                          "e.g. with 'importpubkey' or 'importmulti' with the 'pubkeys' or 'desc' field."},
                    {"inputs", RPCArg::Type::ARR,  "empty array", "Specify inputs instead of adding them automatically. A JSON array of JSON objects",
                        {
                            {"txid", RPCArg::Type::STR_HEX, RPCArg::Optional::NO, "The transaction id"},
                            {"vout", RPCArg::Type::NUM, RPCArg::Optional::NO, "The output number"},
                            {"sequence", RPCArg::Type::NUM, RPCArg::Optional::NO, "The sequence number"},
                        },
                    },
                    {"locktime", RPCArg::Type::NUM,  "0", "Raw locktime. Non-0 value also locktime-activates inputs"},