mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 23:34:48 +00:00
auto merge of #13704 : edwardw/rust/doc-hidden, r=alexcrichton
Closes #13698
This commit is contained in:
commit
4e1a09844e
@ -13,12 +13,15 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_clone(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
mitem: @MetaItem,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -32,7 +35,7 @@ pub fn expand_deriving_clone(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: Vec::new(),
|
||||
ret_ty: Self,
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|c, s, sub| {
|
||||
cs_clone("Clone", c, s, sub)
|
||||
|
@ -13,6 +13,7 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_eq(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
@ -31,20 +32,22 @@ pub fn expand_deriving_eq(cx: &mut ExtCtxt,
|
||||
}
|
||||
|
||||
macro_rules! md (
|
||||
($name:expr, $f:ident) => {
|
||||
($name:expr, $f:ident) => { {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
MethodDef {
|
||||
name: $name,
|
||||
generics: LifetimeBounds::empty(),
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(borrowed_self()),
|
||||
ret_ty: Literal(Path::new(vec!("bool"))),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: true,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
$f(a, b, c)
|
||||
})
|
||||
}
|
||||
}
|
||||
} }
|
||||
);
|
||||
|
||||
let trait_def = TraitDef {
|
||||
|
@ -14,6 +14,7 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_ord(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
@ -21,20 +22,22 @@ pub fn expand_deriving_ord(cx: &mut ExtCtxt,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
macro_rules! md (
|
||||
($name:expr, $op:expr, $equal:expr) => {
|
||||
($name:expr, $op:expr, $equal:expr) => { {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
MethodDef {
|
||||
name: $name,
|
||||
generics: LifetimeBounds::empty(),
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(borrowed_self()),
|
||||
ret_ty: Literal(Path::new(vec!("bool"))),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|cx, span, substr| {
|
||||
cs_op($op, $equal, cx, span, substr)
|
||||
})
|
||||
}
|
||||
}
|
||||
} }
|
||||
);
|
||||
|
||||
let trait_def = TraitDef {
|
||||
|
@ -13,6 +13,7 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_totaleq(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
@ -33,6 +34,11 @@ pub fn expand_deriving_totaleq(cx: &mut ExtCtxt,
|
||||
substr)
|
||||
}
|
||||
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let hidden = cx.meta_word(span, InternedString::new("hidden"));
|
||||
let doc = cx.meta_list(span, InternedString::new("doc"), vec!(hidden));
|
||||
let attrs = vec!(cx.attribute(span, inline),
|
||||
cx.attribute(span, doc));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -46,7 +52,7 @@ pub fn expand_deriving_totaleq(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(),
|
||||
ret_ty: nil_ty(),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: true,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
cs_total_eq_assert(a, b, c)
|
||||
|
@ -14,6 +14,7 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
use std::cmp::{Ordering, Equal, Less, Greater};
|
||||
|
||||
@ -22,6 +23,8 @@ pub fn expand_deriving_totalord(cx: &mut ExtCtxt,
|
||||
mitem: @MetaItem,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -35,7 +38,7 @@ pub fn expand_deriving_totalord(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(borrowed_self()),
|
||||
ret_ty: Literal(Path::new(vec!("std", "cmp", "Ordering"))),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
cs_cmp(a, b, c)
|
||||
|
@ -50,7 +50,7 @@ pub fn expand_deriving_decodable(cx: &mut ExtCtxt,
|
||||
Borrowed(None, MutMutable))),
|
||||
ret_ty: Literal(Path::new_(vec!("std", "result", "Result"), None,
|
||||
vec!(~Self, ~Literal(Path::new_local("__E"))), true)),
|
||||
inline: false,
|
||||
attributes: Vec::new(),
|
||||
const_nonmatching: true,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
decodable_substructure(a, b, c)
|
||||
|
@ -13,12 +13,15 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_default(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
mitem: @MetaItem,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -32,7 +35,7 @@ pub fn expand_deriving_default(cx: &mut ExtCtxt,
|
||||
explicit_self: None,
|
||||
args: Vec::new(),
|
||||
ret_ty: Self,
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
default_substructure(a, b, c)
|
||||
|
@ -121,7 +121,7 @@ pub fn expand_deriving_encodable(cx: &mut ExtCtxt,
|
||||
vec!(~Tuple(Vec::new()),
|
||||
~Literal(Path::new_local("__E"))),
|
||||
true)),
|
||||
inline: false,
|
||||
attributes: Vec::new(),
|
||||
const_nonmatching: true,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
encodable_substructure(a, b, c)
|
||||
|
@ -229,8 +229,7 @@ pub struct MethodDef<'a> {
|
||||
/// Return type
|
||||
pub ret_ty: Ty<'a>,
|
||||
|
||||
/// Whether to mark this as #[inline]
|
||||
pub inline: bool,
|
||||
pub attributes: Vec<ast::Attribute>,
|
||||
|
||||
/// if the value of the nonmatching enums is independent of the
|
||||
/// actual enum variants, i.e. can use _ => .. match.
|
||||
@ -612,23 +611,10 @@ impl<'a> MethodDef<'a> {
|
||||
let fn_decl = cx.fn_decl(args, ret_type);
|
||||
let body_block = cx.block_expr(body);
|
||||
|
||||
let attrs = if self.inline {
|
||||
vec!(
|
||||
cx
|
||||
.attribute(trait_.span,
|
||||
cx
|
||||
.meta_word(trait_.span,
|
||||
InternedString::new(
|
||||
"inline")))
|
||||
)
|
||||
} else {
|
||||
Vec::new()
|
||||
};
|
||||
|
||||
// Create the method.
|
||||
@ast::Method {
|
||||
ident: method_ident,
|
||||
attrs: attrs,
|
||||
attrs: self.attributes.clone(),
|
||||
generics: fn_generics,
|
||||
explicit_self: explicit_self,
|
||||
fn_style: ast::NormalFn,
|
||||
|
@ -14,6 +14,7 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_hash(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
@ -34,6 +35,8 @@ pub fn expand_deriving_hash(cx: &mut ExtCtxt,
|
||||
LifetimeBounds::empty(),
|
||||
Path::new(vec!("std", "hash", "sip", "SipState")))
|
||||
};
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let hash_trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -47,7 +50,7 @@ pub fn expand_deriving_hash(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(Ptr(~Literal(args), Borrowed(None, MutMutable))),
|
||||
ret_ty: nil_ty(),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
hash_substructure(a, b, c)
|
||||
|
@ -21,6 +21,8 @@ pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt,
|
||||
mitem: @MetaItem,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -38,8 +40,8 @@ pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt,
|
||||
None,
|
||||
vec!(~Self),
|
||||
true)),
|
||||
// liable to cause code-bloat
|
||||
inline: true,
|
||||
// #[inline] liable to cause code-bloat
|
||||
attributes: attrs.clone(),
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|c, s, sub| {
|
||||
cs_from("i64", c, s, sub)
|
||||
@ -55,8 +57,8 @@ pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt,
|
||||
None,
|
||||
vec!(~Self),
|
||||
true)),
|
||||
// liable to cause code-bloat
|
||||
inline: true,
|
||||
// #[inline] liable to cause code-bloat
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|c, s, sub| {
|
||||
cs_from("u64", c, s, sub)
|
||||
|
@ -41,7 +41,7 @@ pub fn expand_deriving_rand(cx: &mut ExtCtxt,
|
||||
Borrowed(None, ast::MutMutable))
|
||||
),
|
||||
ret_ty: Self,
|
||||
inline: false,
|
||||
attributes: Vec::new(),
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
rand_substructure(a, b, c)
|
||||
|
@ -42,7 +42,7 @@ pub fn expand_deriving_show(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: vec!(fmtr),
|
||||
ret_ty: Literal(Path::new(vec!("std", "fmt", "Result"))),
|
||||
inline: false,
|
||||
attributes: Vec::new(),
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
show_substructure(a, b, c)
|
||||
|
@ -13,12 +13,15 @@ use codemap::Span;
|
||||
use ext::base::ExtCtxt;
|
||||
use ext::build::AstBuilder;
|
||||
use ext::deriving::generic::*;
|
||||
use parse::token::InternedString;
|
||||
|
||||
pub fn expand_deriving_zero(cx: &mut ExtCtxt,
|
||||
span: Span,
|
||||
mitem: @MetaItem,
|
||||
item: @Item,
|
||||
push: |@Item|) {
|
||||
let inline = cx.meta_word(span, InternedString::new("inline"));
|
||||
let attrs = vec!(cx.attribute(span, inline));
|
||||
let trait_def = TraitDef {
|
||||
span: span,
|
||||
attributes: Vec::new(),
|
||||
@ -32,7 +35,7 @@ pub fn expand_deriving_zero(cx: &mut ExtCtxt,
|
||||
explicit_self: None,
|
||||
args: Vec::new(),
|
||||
ret_ty: Self,
|
||||
inline: true,
|
||||
attributes: attrs.clone(),
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|a, b, c| {
|
||||
zero_substructure(a, b, c)
|
||||
@ -44,7 +47,7 @@ pub fn expand_deriving_zero(cx: &mut ExtCtxt,
|
||||
explicit_self: borrowed_explicit_self(),
|
||||
args: Vec::new(),
|
||||
ret_ty: Literal(Path::new(vec!("bool"))),
|
||||
inline: true,
|
||||
attributes: attrs,
|
||||
const_nonmatching: false,
|
||||
combine_substructure: combine_substructure(|cx, span, substr| {
|
||||
cs_and(|cx, span, _, _| cx.span_bug(span,
|
||||
|
Loading…
Reference in New Issue
Block a user