summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_smir/src/rustc_internal/pretty.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_smir/src/rustc_internal/pretty.rs')
-rw-r--r--compiler/rustc_smir/src/rustc_internal/pretty.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/rustc_smir/src/rustc_internal/pretty.rs b/compiler/rustc_smir/src/rustc_internal/pretty.rs
new file mode 100644
index 000000000..3ef2d28ea
--- /dev/null
+++ b/compiler/rustc_smir/src/rustc_internal/pretty.rs
@@ -0,0 +1,20 @@
+use std::io;
+
+use super::run;
+use rustc_middle::ty::TyCtxt;
+
+pub fn write_smir_pretty<'tcx, W: io::Write>(tcx: TyCtxt<'tcx>, w: &mut W) -> io::Result<()> {
+ writeln!(
+ w,
+ "// WARNING: This is highly experimental output it's intended for stable-mir developers only."
+ )?;
+ writeln!(
+ w,
+ "// If you find a bug or want to improve the output open a issue at https://github.com/rust-lang/project-stable-mir."
+ )?;
+ let _ = run(tcx, || {
+ let items = stable_mir::all_local_items();
+ let _ = items.iter().map(|item| -> io::Result<()> { item.dump(w) }).collect::<Vec<_>>();
+ });
+ Ok(())
+}