There is an important distinction when it comes to stability. Stability for libraries is much more important that stability for devtools<p>Stability mainly matters when you release a library and it stops working on a newer compiler, breaking everyone downstream. That&#x27;s a pain for the downstream users, because they need not necessarily understand your library internals, and the software they&#x27;re building will be completely broken until you update it.<p>If an optional developer tool breaks, it&#x27;s only you that&#x27;s affected, not downstream users. You can wait for it to be fixed, no problem.<p>Rustfmt uses internal Rust APIs to parse and reason about the code. It could use something else (like syntex), but that would be more work.