Auto merge of #21999 - tomjakubowski:rustdoc-fixes, r=alexcrichton
r? @alexcrichton
This commit is contained in:
commit
cdaf3a4393
16 changed files with 155 additions and 25 deletions
5
src/test/run-make/rustdoc-assoc-types/Makefile
Normal file
5
src/test/run-make/rustdoc-assoc-types/Makefile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-include ../tools.mk
|
||||
|
||||
all: lib.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTDOC) -w html -o $(TMPDIR)/doc lib.rs
|
||||
$(HTMLDOCCK) $(TMPDIR)/doc lib.rs
|
||||
20
src/test/run-make/rustdoc-assoc-types/lib.rs
Normal file
20
src/test/run-make/rustdoc-assoc-types/lib.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// 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.
|
||||
|
||||
#![crate_type="lib"]
|
||||
|
||||
// @has lib/trait.Index.html
|
||||
pub trait Index<I: ?Sized> {
|
||||
// @has - '//*[@id="associatedtype.Output"]//code' 'type Output: ?Sized'
|
||||
type Output: ?Sized;
|
||||
// @has - '//*[@id="tymethod.index"]//code' \
|
||||
// "fn index<'a>(&'a self, index: I) -> &'a Self::Output"
|
||||
fn index<'a>(&'a self, index: I) -> &'a Self::Output;
|
||||
}
|
||||
8
src/test/run-make/rustdoc-extern-method/Makefile
Normal file
8
src/test/run-make/rustdoc-extern-method/Makefile
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
-include ../tools.mk
|
||||
|
||||
all: foo.rs bar.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTC) foo.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTDOC) -w html -o $(TMPDIR)/doc foo.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTDOC) -L $(TMPDIR) -w html -o $(TMPDIR)/doc bar.rs
|
||||
$(HTMLDOCCK) $(TMPDIR)/doc bar.rs
|
||||
|
||||
24
src/test/run-make/rustdoc-extern-method/bar.rs
Normal file
24
src/test/run-make/rustdoc-extern-method/bar.rs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// 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 crate foo;
|
||||
|
||||
// @has bar/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_'
|
||||
pub use foo::Foo;
|
||||
|
||||
// @has bar/trait.Bar.html //pre "pub trait Bar"
|
||||
pub trait Bar {
|
||||
// @has - '//*[@id="tymethod.bar"]//code' 'extern "rust-call" fn bar'
|
||||
extern "rust-call" fn bar(&self, _: ());
|
||||
// @has - '//*[@id="method.bar_"]//code' 'extern "rust-call" fn bar_'
|
||||
extern "rust-call" fn bar_(&self, _: ()) { }
|
||||
}
|
||||
16
src/test/run-make/rustdoc-extern-method/foo.rs
Normal file
16
src/test/run-make/rustdoc-extern-method/foo.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// 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.
|
||||
|
||||
#![crate_type="lib"]
|
||||
|
||||
pub trait Foo {
|
||||
extern "rust-call" fn foo(&self, _: ()) -> i32;
|
||||
extern "rust-call" fn foo_(&self, _: ()) -> i32 { 0 }
|
||||
}
|
||||
8
src/test/run-make/rustdoc-ffi/Makefile
Normal file
8
src/test/run-make/rustdoc-ffi/Makefile
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
-include ../tools.mk
|
||||
|
||||
all: lib.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTC) lib.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTDOC) -w html -o $(TMPDIR)/doc lib.rs
|
||||
$(HOST_RPATH_ENV) $(RUSTDOC) -L $(TMPDIR) -w html -o $(TMPDIR)/doc user.rs
|
||||
$(HTMLDOCCK) $(TMPDIR)/doc lib.rs
|
||||
$(HTMLDOCCK) $(TMPDIR)/doc user.rs
|
||||
16
src/test/run-make/rustdoc-ffi/lib.rs
Normal file
16
src/test/run-make/rustdoc-ffi/lib.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// 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.
|
||||
|
||||
#![crate_type="lib"]
|
||||
|
||||
extern "C" {
|
||||
// @has lib/fn.foreigner.html //pre 'pub unsafe fn foreigner(cold_as_ice: u32)'
|
||||
pub fn foreigner(cold_as_ice: u32);
|
||||
}
|
||||
16
src/test/run-make/rustdoc-ffi/user.rs
Normal file
16
src/test/run-make/rustdoc-ffi/user.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// 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.
|
||||
|
||||
#![crate_type="lib"]
|
||||
|
||||
extern crate lib;
|
||||
|
||||
// @has user/fn.foreigner.html //pre 'pub unsafe fn foreigner(cold_as_ice: u32)'
|
||||
pub use lib::foreigner;
|
||||
|
|
@ -32,5 +32,4 @@
|
|||
pub fn foo() {}
|
||||
|
||||
// @!has foo/fn.foo.html invisible
|
||||
// @matches - //pre '#.*\[.*derive.*\(.*Eq.*\).*\].*//.*Bar'
|
||||
|
||||
// @matches - //pre "#\[derive\(PartialEq\)\] // Bar"
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ pub struct Alpha;
|
|||
// @matches foo/struct.Bravo.html '//pre' "pub struct Bravo<B>"
|
||||
pub struct Bravo<B>;
|
||||
|
||||
// @matches foo/struct.Alpha.html '//*[@class="impl"]//code' "impl !.*Send.* for .*Alpha"
|
||||
// @matches foo/struct.Alpha.html '//*[@class="impl"]//code' "impl !Send for Alpha"
|
||||
impl !Send for Alpha {}
|
||||
|
||||
// @matches foo/struct.Bravo.html '//*[@class="impl"]//code' "impl<B> !.*Send.* for .*Bravo.*<B>"
|
||||
// @matches foo/struct.Bravo.html '//*[@class="impl"]//code' "impl<B> !Send for Bravo<B>"
|
||||
impl<B> !Send for Bravo<B> {}
|
||||
|
|
|
|||
|
|
@ -10,29 +10,30 @@
|
|||
|
||||
pub trait MyTrait {}
|
||||
|
||||
// @matches foo/struct.Alpha.html '//pre' "Alpha.*where.*A:.*MyTrait"
|
||||
// @has foo/struct.Alpha.html '//pre' "pub struct Alpha<A> where A: MyTrait"
|
||||
pub struct Alpha<A> where A: MyTrait;
|
||||
// @matches foo/trait.Bravo.html '//pre' "Bravo.*where.*B:.*MyTrait"
|
||||
// @has foo/trait.Bravo.html '//pre' "pub trait Bravo<B> where B: MyTrait"
|
||||
pub trait Bravo<B> where B: MyTrait {}
|
||||
// @matches foo/fn.charlie.html '//pre' "charlie.*where.*C:.*MyTrait"
|
||||
// @has foo/fn.charlie.html '//pre' "pub fn charlie<C>() where C: MyTrait"
|
||||
pub fn charlie<C>() where C: MyTrait {}
|
||||
|
||||
pub struct Delta<D>;
|
||||
// @matches foo/struct.Delta.html '//*[@class="impl"]//code' "impl.*Delta.*where.*D:.*MyTrait"
|
||||
// @has foo/struct.Delta.html '//*[@class="impl"]//code' \
|
||||
// "impl<D> Delta<D> where D: MyTrait"
|
||||
impl<D> Delta<D> where D: MyTrait {
|
||||
pub fn delta() {}
|
||||
}
|
||||
|
||||
pub struct Echo<E>;
|
||||
// @matches foo/struct.Echo.html '//*[@class="impl"]//code' \
|
||||
// "impl.*MyTrait.*for.*Echo.*where.*E:.*MyTrait"
|
||||
// @matches foo/trait.MyTrait.html '//*[@id="implementors-list"]//code' \
|
||||
// "impl.*MyTrait.*for.*Echo.*where.*E:.*MyTrait"
|
||||
// @has foo/struct.Echo.html '//*[@class="impl"]//code' \
|
||||
// "impl<E> MyTrait for Echo<E> where E: MyTrait"
|
||||
// @has foo/trait.MyTrait.html '//*[@id="implementors-list"]//code' \
|
||||
// "impl<E> MyTrait for Echo<E> where E: MyTrait"
|
||||
impl<E> MyTrait for Echo<E> where E: MyTrait {}
|
||||
|
||||
pub enum Foxtrot<F> {}
|
||||
// @matches foo/enum.Foxtrot.html '//*[@class="impl"]//code' \
|
||||
// "impl.*MyTrait.*for.*Foxtrot.*where.*F:.*MyTrait"
|
||||
// @matches foo/trait.MyTrait.html '//*[@id="implementors-list"]//code' \
|
||||
// "impl.*MyTrait.*for.*Foxtrot.*where.*F:.*MyTrait"
|
||||
// @has foo/enum.Foxtrot.html '//*[@class="impl"]//code' \
|
||||
// "impl<F> MyTrait for Foxtrot<F> where F: MyTrait"
|
||||
// @has foo/trait.MyTrait.html '//*[@id="implementors-list"]//code' \
|
||||
// "impl<F> MyTrait for Foxtrot<F> where F: MyTrait"
|
||||
impl<F> MyTrait for Foxtrot<F> where F: MyTrait {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue