Thanks for bringing this up.
Some thoughts:
I'm generally inclined to revisit and simplify the trademark policy. The original policy was adopted fairly hastily with relatively little input, and was mostly trying to CYA while following Python's lead.
I think the current policy is too complex while also being imprecise and handwavy. It requires reading the Mozilla trademark policy, and then interpreting it along with Rust's own policy, then guessing whether your usage is ok with whoever at Mozilla is responsible today, which it almost certainly is.
I think Rust should not piggy-back on Mozilla's trademark policy, which serves Mozilla's particular purposes, but should have its own that is limited to exactly what a Rust trademark policy should accomplish.
This seems to be one of the most relevantly controversial clauses:
Distributing a modified version of the Rust programming language or the Cargo package manager and calling it Rust or Cargo requires explicit, written permission from the Rust core team.
I disagree with this. I can imagine this exists to try to protect the integrity of the Rust brand by ensuring compatibility with upstream Rust; but I don't think it's worth the uncertainty that it causes.
Rust should rely on technical and social excellence to protect its image, not trademark.
Distributing an incompatible Rust can be done either accidentally or on purpose. Mostly it will be done accidentally, and the trademark policy is not the tool to combat this - somebody will point out the problem and it will get fixed.
Intentionally-, or maliciously-incompatible Rust toolchains are also ok, and probably good.
Everybody should feel entitled to write or distribute Rust compiler toolchains that use the same names as the rust tools, without getting permission. Even maliciously-incompatible toolchains are not something that the Rust team should be so fearful of that they reserve the right to legal action - if somebody creates a different Rust that gets actual adoption, then the Rust project should be forced to face the competition, and either adapt or lose control of the language. Competition is healthy.
I might prefer that Rust not maintain any trademarks at all. If not that, then protect the logo only. Or come up with an "official brand name" (e.g. "Rust Official"). Protecting the language name I suspect mostly leads to this kind of confusion without solving real problems. I'm inclined to think the cargo name and logo should not be trademarked.
I'd be interested to know if Mozilla has used the threat of legal action to resolve a Rust trademark dispute, whether they were over the name or the logo, rust or cargo.