diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index d1f2948bc25..0b098fb14f1 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -585,11 +585,13 @@ pub fn render(w: &mut fmt::Formatter, } } if !parser.footnotes.is_empty() { + let mut v: Vec<_> = parser.footnotes.values().collect(); + v.sort_by(|a, b| a.1.cmp(&b.1)); buffer.push_str(&format!("

    {}
", - parser.footnotes.values() - .map(|&(ref s, _)| s.as_str()) - .collect::>() - .join(""))); + v.iter() + .map(|s| s.0.as_str()) + .collect::>() + .join(""))); } let mut ret = toc_builder.map_or(Ok(()), |builder| { write!(w, "", builder.into_toc())