Entering a used address in the GUI Send tab makes the field turn yellow. Sending to a used address from the GUI prompts with detailed information about prior usage, as well as a note about best practices to avoid address reuse.
Continued from https://github.com/bitcoin/bitcoin/pull/15987 (significantly modified/rewritten - no more bloom filter)
Depends on https://github.com/bitcoin/bitcoin/pull/22693 for non-GUI changes