Optional features are part of the crate — the project should say so
Rust Internals [Unofficial]
March 11, 2026
For the second part. The rust-analyzer.toml file seems to me like a more user-specific config you can add to .gitignore. Some rust-analyzer config looks more like project- or workspace-specific suggestions from a project maintainer. When rust-analyzer also reads them from .cargo/config.toml, it can be part of that shared crate.
Discussion in the ATmosphere