I've used a couple "version managers" in the past, and they work in different ways. For example, some copy files around whenever you cd into or out of an overridden dir. Others wrap the main tool in a shim which actually calls the correct one.
How does rustup work? I sense there might be something a little more complex going on