};
}
if !found {
- panic!("ran out of mir dump output to match against");
+ let normalize_all = dumped_string.lines()
+ .map(nocomment_mir_line)
+ .filter(|l| !l.is_empty())
+ .collect::<Vec<_>>()
+ .join("\n");
+ panic!("ran out of mir dump output to match against.\n\
+ Did not find expected line: {:?}\n\
+ Expected:\n{}\n\
+ Actual:\n{}",
+ expected_line,
+ expected_content.join("\n"),
+ normalize_all);
}
}
}
}
fn normalize_mir_line(line: &str) -> String {
- let no_comments = if let Some(idx) = line.find("//") {
+ nocomment_mir_line(line).replace(char::is_whitespace, "")
+}
+
+fn nocomment_mir_line(line: &str) -> &str {
+ if let Some(idx) = line.find("//") {
let (l, _) = line.split_at(idx);
- l
+ l.trim_right()
} else {
line
- };
- no_comments.replace(char::is_whitespace, "")
+ }
}