In fact, it was a reinstall of some sort - the install script reported that it was updating something I had installed before. Nevertheless, it completed succesfully.
Later, I noticed that I was able to execute binaries in the current directory without the expected leading ./ - this was because my $PATH contained ':::', resulting in searching the current directory.
I determined that this was happening because of the script ~/.cargo/env which is executed twice (once from .profile, once from .bashrc) when starting up.
What does your ~/.cargo/env contain? The one I have does not look like it could cause empty segments in the PATH, only a duplication if it were sourced twice.
export PATH="$HOME/.cargo/bin:$PATH"
Looks like that's old though, and a fresh installation tries to avoid duplication:
#!/bin/sh
# rustup shell setup
# affix colons on either side of $PATH to simplify matching
case ":${PATH}:" in
*:"$HOME/.cargo/bin":*)
;;
*)
# Prepending path in case a system-installed rustc needs to be overridden
export PATH="$HOME/.cargo/bin:$PATH"
;;
esac