diff options
| author | Steven Fackler <sfackler@gmail.com> | 2014-03-15 22:49:41 -0700 |
|---|---|---|
| committer | Steven Fackler <sfackler@gmail.com> | 2014-03-15 22:49:41 -0700 |
| commit | 05c73233e40dad982a87f210273be15824fdab57 (patch) | |
| tree | 0929bea77dd4269effef08625b49b4b0cf2e8344 | |
| parent | 2c372201d447cbf4d3e1e2d675d1776e765f3b65 (diff) | |
| download | rust-05c73233e40dad982a87f210273be15824fdab57.tar.gz rust-05c73233e40dad982a87f210273be15824fdab57.zip | |
Tag derived impls with #[automatically_derived]
This will enable rustdoc to treat them specially.
| -rw-r--r-- | src/librustc/middle/lint.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/generic.rs | 12 |
2 files changed, 5 insertions, 9 deletions
diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs index ae260053355..9a6ea297af0 100644 --- a/src/librustc/middle/lint.rs +++ b/src/librustc/middle/lint.rs @@ -985,7 +985,7 @@ static other_attrs: &'static [&'static str] = &[ "crate_map", "cfg", "doc", "export_name", "link_section", "no_mangle", "static_assert", "unsafe_no_drop_flag", "packed", "simd", "repr", "deriving", "unsafe_destructor", "link", "phase", - "macro_export", "must_use", + "macro_export", "must_use", "automatically_derived", //mod-level "path", "link_name", "link_args", "macro_escape", "no_implicit_prelude", diff --git a/src/libsyntax/ext/deriving/generic.rs b/src/libsyntax/ext/deriving/generic.rs index bc314bc204b..2a828cd5800 100644 --- a/src/libsyntax/ext/deriving/generic.rs +++ b/src/libsyntax/ext/deriving/generic.rs @@ -186,7 +186,6 @@ use codemap; use codemap::Span; use opt_vec; use parse::token::InternedString; -use parse::token; use std::vec_ng::Vec; use std::vec_ng; @@ -399,19 +398,16 @@ impl<'a> TraitDef<'a> { cx.path_all(self.span, false, vec!( type_ident ), self_lifetimes, opt_vec::take_vec(self_ty_params)), None); - let doc_attr = cx.attribute( + let attr = cx.attribute( self.span, - cx.meta_name_value(self.span, - InternedString::new("doc"), - ast::LitStr(token::intern_and_get_ident( - "Automatically derived."), - ast::CookedStr))); + cx.meta_word(self.span, + InternedString::new("automatically_derived"))); let opt_trait_ref = Some(trait_ref); let ident = ast_util::impl_pretty_name(&opt_trait_ref, self_type); cx.item( self.span, ident, - vec_ng::append(vec!(doc_attr), self.attributes.as_slice()), + vec_ng::append(vec!(attr), self.attributes.as_slice()), ast::ItemImpl(trait_generics, opt_trait_ref, self_type, methods.map(|x| *x))) } |
