Hey all,
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:
https://github.com/rust-lang/rust/issues/40912
There's also a PR for two out of the three biggest ones:
https://github.com/rust-lang/rust/pull/40919
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; commonmark.js demo is a great tool for checking out exactly how CommonMark interprets your Markdown.
Thank you!
EDIT: @nikomatsakis and I were chatting and realized that @brson's cargobomb may be able t detect some things crater couldn't; I'll be watching those closely.