about summary refs log tree commit diff
path: root/src/libsyntax_ext/deriving
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2018-12-16 20:23:27 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2018-12-27 15:51:36 +0300
commitfff01ccfa805ccef67827bf1ea84e21d61d13e6f (patch)
tree9ef9748b8f3257c362077a8b3a6c421ae851d020 /src/libsyntax_ext/deriving
parenta5c52c72ae3c1d8b3896756541b115a1d5ea94b7 (diff)
downloadrust-fff01ccfa805ccef67827bf1ea84e21d61d13e6f.tar.gz
rust-fff01ccfa805ccef67827bf1ea84e21d61d13e6f.zip
Do not abort compilation if expansion produces errors
Fix a number of uncovered deficiencies in diagnostics
Diffstat (limited to 'src/libsyntax_ext/deriving')
-rw-r--r--src/libsyntax_ext/deriving/default.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libsyntax_ext/deriving/default.rs b/src/libsyntax_ext/deriving/default.rs
index c26c4bb6274..771a559b37c 100644
--- a/src/libsyntax_ext/deriving/default.rs
+++ b/src/libsyntax_ext/deriving/default.rs
@@ -3,7 +3,7 @@ use deriving::generic::*;
 use deriving::generic::ty::*;
 
 use syntax::ast::{Expr, MetaItem};
-use syntax::ext::base::{Annotatable, ExtCtxt};
+use syntax::ext::base::{Annotatable, DummyResult, ExtCtxt};
 use syntax::ext::build::AstBuilder;
 use syntax::ptr::P;
 use syntax::symbol::Symbol;
@@ -69,7 +69,7 @@ fn default_substructure(cx: &mut ExtCtxt, trait_span: Span, substr: &Substructur
             span_err!(cx, trait_span, E0665,
                       "`Default` cannot be derived for enums, only structs");
             // let compilation continue
-            cx.expr_usize(trait_span, 0)
+            DummyResult::raw_expr(trait_span)
         }
         _ => cx.span_bug(trait_span, "Non-static method in `derive(Default)`"),
     };