]> git.lizzy.rs Git - rust.git/commitdiff
fix --emit=mir: StructCtors are functions
authorRalf Jung <post@ralfj.de>
Sun, 3 Feb 2019 13:09:56 +0000 (14:09 +0100)
committerRalf Jung <post@ralfj.de>
Sat, 9 Feb 2019 11:11:12 +0000 (12:11 +0100)
src/librustc/hir/map/mod.rs
src/librustc_mir/util/pretty.rs

index 470bec975783125669dcc1ed0f5e1d708119a59a..8db4e52f3d6308cc2fd4f1cacb6d0d5bcc898e11 100644 (file)
@@ -375,6 +375,10 @@ pub fn describe_def(&self, node_id: NodeId) -> Option<Def> {
                 let def_id = self.local_def_id(item.id);
                 Some(Def::Const(def_id))
             }
+            Node::StructCtor(variant) => {
+                let def_id = self.local_def_id(variant.id());
+                Some(Def::Fn(def_id))
+            }
             Node::Field(_) |
             Node::Expr(_) |
             Node::Stmt(_) |
@@ -383,7 +387,6 @@ pub fn describe_def(&self, node_id: NodeId) -> Option<Def> {
             Node::TraitRef(_) |
             Node::Pat(_) |
             Node::Binding(_) |
-            Node::StructCtor(_) |
             Node::Lifetime(_) |
             Node::Visibility(_) |
             Node::Block(_) |
index 48a6fd3a95df67b6ecfa90518add2e4c085e0008..ae07aad31172f6bc03c51cdf0c358fe40689ad29 100644 (file)
@@ -594,7 +594,7 @@ fn write_mir_sig(
 ) -> io::Result<()> {
     use rustc::hir::def::Def;
 
-    trace!("write_mir_sig: {:?} {:?}", src, tcx.hir().get_if_local(src.def_id()));
+    trace!("write_mir_sig: {:?}", src.instance);
     let descr = tcx.describe_def(src.def_id()).unwrap();
     match (descr, src.promoted) {
         (_, Some(i)) => write!(w, "{:?} in", i)?,