We’ve intended to transition
rustdoc away from
hoedown, which is written in C, to
pulldown-cmark, which is written in Rust, for a long time. Recently, the change finally landed. This knocks out another C dependency of the Rust toolchain.
Another thing it does, though, is introduce some changes in markdown parsing: if you’ve followed Markdown at all, you’ve seen that there are tons of different implementations that do things slightly differently. Out of this mess, CommonMark was formed, and is attempting to standardize Markdown. I’ve wanted Rustdoc to use CommonMark for a long time, and now, with
pulldown-cmark, we will be! In related news, GitHub is also transitioning their own GitHub Flavored Markdown to be CommonMark based, so this would also let us be 1-1 with GitHub’s rendering.
So, there’s no good way to run tests of a change like this across the ecosystem. As such, we’re asking you to please try out the latest nightly, which contains this difference, and see if everything looks okay. There are a few known issues that are currently being worked on, and we’re tracking them here:
There’s also a PR for two out of the three biggest ones:
Please file any bugs you find so that we can fix them up; this change will land in Rust 1.18, June 8. You may also need to adjust your markdown depending; http://spec.commonmark.org/dingus/ is a great tool for checking out exactly how CommonMark interprets your Markdown.