diff --git a/src/librustdoc/markdown.rs b/src/librustdoc/markdown.rs index bc6c797e5c5..a311b938e96 100644 --- a/src/librustdoc/markdown.rs +++ b/src/librustdoc/markdown.rs @@ -29,13 +29,14 @@ use test::{TestOptions, Collector}; /// Separate any lines at the start of the file that begin with `%`. fn extract_leading_metadata<'a>(s: &'a str) -> (Vec<&'a str>, &'a str) { let mut metadata = Vec::new(); + let mut count = 0; for line in s.lines() { if line.starts_with("%") { // remove % - metadata.push(line[1..].trim_left()) + metadata.push(line[1..].trim_left()); + count += line.len() + 1; } else { - let line_start_byte = s.find(line).unwrap(); - return (metadata, &s[line_start_byte..]); + return (metadata, &s[count..]); } } // if we're here, then all lines were metadata % lines.