Auto merge of #27919 - Eljay:doc-varargs, r=alexcrichton

Fixes #27876.
This commit is contained in:
bors 2015-08-23 04:24:35 +00:00
commit e617a17369
3 changed files with 24 additions and 1 deletions

View File

@ -999,6 +999,7 @@ impl Clean<Method> for ast::MethodSig {
values: inputs.clean(cx),
},
output: self.decl.output.clean(cx),
variadic: false,
attrs: Vec::new()
};
Method {
@ -1032,6 +1033,7 @@ impl Clean<TyMethod> for ast::MethodSig {
values: inputs.clean(cx),
},
output: self.decl.output.clean(cx),
variadic: false,
attrs: Vec::new()
};
TyMethod {
@ -1098,6 +1100,7 @@ impl Clean<Item> for doctree::Function {
pub struct FnDecl {
pub inputs: Arguments,
pub output: FunctionRetTy,
pub variadic: bool,
pub attrs: Vec<Attribute>,
}
@ -1113,6 +1116,7 @@ impl Clean<FnDecl> for ast::FnDecl {
values: self.inputs.clean(cx),
},
output: self.output.clean(cx),
variadic: self.variadic,
attrs: Vec::new()
}
}
@ -1141,6 +1145,7 @@ impl<'a, 'tcx> Clean<FnDecl> for (ast::DefId, &'a ty::PolyFnSig<'tcx>) {
FnDecl {
output: Return(sig.0.output.clean(cx)),
attrs: Vec::new(),
variadic: sig.0.variadic,
inputs: Arguments {
values: sig.0.inputs.iter().map(|t| {
Argument {

View File

@ -579,7 +579,11 @@ impl fmt::Display for clean::FunctionRetTy {
impl fmt::Display for clean::FnDecl {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "({args}){arrow}", args = self.inputs, arrow = self.output)
if self.variadic {
write!(f, "({args}, ...){arrow}", args = self.inputs, arrow = self.output)
} else {
write!(f, "({args}){arrow}", args = self.inputs, arrow = self.output)
}
}
}

View File

@ -0,0 +1,14 @@
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern "C" {
// @has variadic/fn.foo.html //pre 'pub unsafe extern fn foo(x: i32, ...)'
pub fn foo(x: i32, ...);
}