about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGianni Ciccarelli <gianni.ciccarelli@gmail.com>2016-11-21 18:39:25 +0000
committerGianni Ciccarelli <gianni.ciccarelli@gmail.com>2017-04-24 10:08:48 +0000
commitb0fca5f790e86a4235c64095f4ac55d325253b92 (patch)
tree21ca269b0559eb428532e42cc6e7e6d1d0f42c2d
parent6427fdce7a4c7b9d98bdffd396021046c8f8347f (diff)
support `default impl` for specialization
    rebase after support for llvm-3.7
-rw-r--r--src/librustc/hir/lowering.rs2
-rw-r--r--src/librustc/hir/print.rs5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs
index 5fb8170cd6c..d072340d8c8 100644
--- a/src/librustc/hir/lowering.rs
+++ b/src/librustc/hir/lowering.rs
@@ -1346,7 +1346,7 @@ impl<'a> LoweringContext<'a> {
 
                 hir::ItemImpl(self.lower_unsafety(unsafety),
                               self.lower_impl_polarity(polarity),
-                              self.lower_defaultness(defaultness),
+                              self.lower_defaultness(defaultness, true /* [1] */),
                               self.lower_generics(generics),
                               ifce,
                               self.lower_ty(ty),
diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs
index dec0753be06..a78d5ce1c16 100644
--- a/src/librustc/hir/print.rs
+++ b/src/librustc/hir/print.rs
@@ -823,8 +823,9 @@ impl<'a> State<'a> {
     }
 
     pub fn print_defaultness(&mut self, defaultness: hir::Defaultness) -> io::Result<()> {
-        if let hir::Defaultness::Default = defaultness {
-            self.word_nbsp("default")?;
+        match defaultness {
+            hir::Defaultness::Default { .. } => self.word_nbsp("default")?,
+            hir::Defaultness::Final => (),
         }
         Ok(())
     }