diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-12-16 20:23:27 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-12-27 15:51:36 +0300 |
| commit | fff01ccfa805ccef67827bf1ea84e21d61d13e6f (patch) | |
| tree | 9ef9748b8f3257c362077a8b3a6c421ae851d020 /src/libsyntax_ext/deriving | |
| parent | a5c52c72ae3c1d8b3896756541b115a1d5ea94b7 (diff) | |
| download | rust-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.rs | 4 |
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)`"), }; |
