rustdoc: Detect provided methods on inlined traits

Closes #23864
This commit is contained in:
Alex Crichton 2015-04-07 11:50:14 -07:00
parent 947f1b66cb
commit d7fcee8347
5 changed files with 64 additions and 9 deletions

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.
pub trait Foo {
fn bar(&self);
fn foo(&mut self) {}
}

View file

@ -16,7 +16,7 @@ extern crate rustdoc_extern_method as foo;
// @has extern_method/trait.Foo.html //pre "pub trait Foo"
// @has - '//*[@id="tymethod.foo"]//code' 'extern "rust-call" fn foo'
// @has - '//*[@id="tymethod.foo_"]//code' 'extern "rust-call" fn foo_'
// @has - '//*[@id="method.foo_"]//code' 'extern "rust-call" fn foo_'
pub use foo::Foo;
// @has extern_method/trait.Bar.html //pre "pub trait Bar"

View file

@ -0,0 +1,18 @@
// 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.
// aux-build:inline-default-methods.rs
extern crate inline_default_methods;
// @has inline_default_methods/trait.Foo.html
// @has - '//*[@class="rust trait"]' 'fn bar(&self);'
// @has - '//*[@class="rust trait"]' 'fn foo(&mut self) { ... }'
pub use inline_default_methods::Foo;

View file

@ -15,6 +15,6 @@ extern crate issue_17476;
pub struct Foo;
// @has issue_17476/struct.Foo.html \
// '//*[@href="http://example.com/issue_17476/trait.Foo.html#tymethod.foo"]' \
// '//*[@href="http://example.com/issue_17476/trait.Foo.html#method.foo"]' \
// 'foo'
impl issue_17476::Foo for Foo {}