about summary refs log tree commit diff
path: root/src/libsyntax_ext/deriving
diff options
context:
space:
mode:
authorGianni Ciccarelli <gianni.ciccarelli@gmail.com>2016-11-18 17:14:42 +0100
committerGianni Ciccarelli <gianni.ciccarelli@gmail.com>2017-04-24 10:08:48 +0000
commit116e9831a57dd09b4c580c2f480064299137b0b0 (patch)
tree7cd1a4b68c97f201a062207064deaa1a5f45fdd7 /src/libsyntax_ext/deriving
parent15ce54096a589de277771ad1f55a334fe2661a64 (diff)
downloadrust-116e9831a57dd09b4c580c2f480064299137b0b0.tar.gz
rust-116e9831a57dd09b4c580c2f480064299137b0b0.zip
support `default impl` for specialization
this commit implements the first step of the `default impl` feature:
all items in a `default impl` are (implicitly) `default` and hence
specializable.
In order to test this feature I've copied all the tests provided for the
`default` method implementation (in run-pass/specialization and
compile-fail/specialization directories) and moved the `default` keyword
from the item to the impl.
See referenced issue for further info
Diffstat (limited to 'src/libsyntax_ext/deriving')
-rw-r--r--src/libsyntax_ext/deriving/generic/mod.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs
index e96883c26f3..be7883cad5f 100644
--- a/src/libsyntax_ext/deriving/generic/mod.rs
+++ b/src/libsyntax_ext/deriving/generic/mod.rs
@@ -658,6 +658,7 @@ impl<'a> TraitDef<'a> {
                 a,
                 ast::ItemKind::Impl(unsafety,
                                     ast::ImplPolarity::Positive,
+                                    ast::Defaultness::Final,
                                     trait_generics,
                                     opt_trait_ref,
                                     self_type,