Fix ICE and invalid filenames in MIR printing code

This commit is contained in:
Matthew Jasper 2019-02-10 15:44:24 +00:00
parent de111e6367
commit 18089df7e8

View file

@ -197,7 +197,7 @@ fn dump_path(
.chars() .chars()
.filter_map(|c| match c { .filter_map(|c| match c {
' ' => None, ' ' => None,
':' => Some('_'), ':' | '<' | '>' => Some('_'),
c => Some(c) c => Some(c)
})); }));
s s
@ -603,7 +603,8 @@ fn write_mir_sig(
match (descr, src.promoted) { match (descr, src.promoted) {
(_, Some(i)) => write!(w, "{:?} in ", i)?, (_, Some(i)) => write!(w, "{:?} in ", i)?,
(Some(Def::StructCtor(..)), _) => write!(w, "struct ")?, (Some(Def::StructCtor(..)), _) => write!(w, "struct ")?,
(Some(Def::Const(_)), _) => write!(w, "const ")?, (Some(Def::Const(_)), _)
| (Some(Def::AssociatedConst(_)), _) => write!(w, "const ")?,
(Some(Def::Static(_, /*is_mutbl*/false)), _) => write!(w, "static ")?, (Some(Def::Static(_, /*is_mutbl*/false)), _) => write!(w, "static ")?,
(Some(Def::Static(_, /*is_mutbl*/true)), _) => write!(w, "static mut ")?, (Some(Def::Static(_, /*is_mutbl*/true)), _) => write!(w, "static mut ")?,
(_, _) if is_function => write!(w, "fn ")?, (_, _) if is_function => write!(w, "fn ")?,