diff --git a/src/librustc_mir/dataflow/framework/engine.rs b/src/librustc_mir/dataflow/framework/engine.rs index 54263287e022..6d3b453bfc02 100644 --- a/src/librustc_mir/dataflow/framework/engine.rs +++ b/src/librustc_mir/dataflow/framework/engine.rs @@ -444,7 +444,12 @@ where let graphviz = graphviz::Formatter::new(body, def_id, results, &mut *formatter); dot::render_opts(&graphviz, &mut buf, &[dot::RenderOption::Monospace])?; + + if let Some(parent) = path.parent() { + fs::create_dir_all(parent)?; + } fs::write(&path, buf)?; + Ok(()) }