Skip to content

Commit ddfb581

Browse files
committed
Move src/test/rustdoc intra-doc link tests into a subdirectory
They were starting to get unwieldy.
1 parent e37f25a commit ddfb581

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+254
-258
lines changed

src/test/rustdoc/intra-doc-link-mod-ambiguity.rs

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/test/rustdoc/intra-links-anchors.rs renamed to src/test/rustdoc/intra-doc/anchors.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
/// # Anchor!
44
pub struct Something;
55

6-
// @has intra_links_anchors/struct.SomeOtherType.html
7-
// @has - '//a/@href' '../intra_links_anchors/struct.Something.html#Anchor!'
6+
// @has anchors/struct.SomeOtherType.html
7+
// @has - '//a/@href' '../anchors/struct.Something.html#Anchor!'
88

99
/// I want...
1010
///
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// ignore-tidy-linelength
2+
#![deny(intra_doc_link_resolution_failure)]
3+
#![feature(associated_type_defaults)]
4+
5+
pub trait TraitWithDefault {
6+
type T = usize;
7+
fn f() -> Self::T {
8+
0
9+
}
10+
}
11+
12+
/// Link to [UsesDefaults::T] and [UsesDefaults::f]
13+
// @has 'associated_defaults/struct.UsesDefaults.html' '//a[@href="../associated_defaults/struct.UsesDefaults.html#associatedtype.T"]' 'UsesDefaults::T'
14+
// @has 'associated_defaults/struct.UsesDefaults.html' '//a[@href="../associated_defaults/struct.UsesDefaults.html#method.f"]' 'UsesDefaults::f'
15+
pub struct UsesDefaults;
16+
impl TraitWithDefault for UsesDefaults {}
17+
18+
/// Link to [OverridesDefaults::T] and [OverridesDefaults::f]
19+
// @has 'associated_defaults/struct.OverridesDefaults.html' '//a[@href="../associated_defaults/struct.OverridesDefaults.html#associatedtype.T"]' 'OverridesDefaults::T'
20+
// @has 'associated_defaults/struct.OverridesDefaults.html' '//a[@href="../associated_defaults/struct.OverridesDefaults.html#method.f"]' 'OverridesDefaults::f'
21+
pub struct OverridesDefaults;
22+
impl TraitWithDefault for OverridesDefaults {
23+
type T = bool;
24+
fn f() -> bool {
25+
true
26+
}
27+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// ignore-tidy-linelength
2+
#![deny(intra_doc_link_resolution_failure)]
3+
4+
/// [`std::collections::BTreeMap::into_iter`]
5+
/// [`String::from`] is ambiguous as to which `From` impl
6+
/// [Vec::into_iter()] uses a disambiguator
7+
// @has 'associated_items/fn.foo.html' '//a[@href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html#method.into_iter"]' 'std::collections::BTreeMap::into_iter'
8+
// @has 'associated_items/fn.foo.html' '//a[@href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.from"]' 'String::from'
9+
// @has 'associated_items/fn.foo.html' '//a[@href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html#method.into_iter"]' 'Vec::into_iter'
10+
pub fn foo() {}
11+
12+
/// Link to [MyStruct], [link from struct][MyStruct::method], [MyStruct::clone], [MyStruct::Input]
13+
// @has 'associated_items/struct.MyStruct.html' '//a[@href="../associated_items/struct.MyStruct.html"]' 'MyStruct'
14+
// @has 'associated_items/struct.MyStruct.html' '//a[@href="../associated_items/struct.MyStruct.html#method.method"]' 'link from struct'
15+
// @has 'associated_items/struct.MyStruct.html' '//a[@href="../associated_items/struct.MyStruct.html#method.clone"]' 'MyStruct::clone'
16+
// @has 'associated_items/struct.MyStruct.html' '//a[@href="../associated_items/struct.MyStruct.html#associatedtype.Input"]' 'MyStruct::Input'
17+
pub struct MyStruct { foo: () }
18+
19+
impl Clone for MyStruct {
20+
fn clone(&self) -> Self {
21+
MyStruct
22+
}
23+
}
24+
25+
pub trait T {
26+
type Input;
27+
fn method(i: Self::Input);
28+
}
29+
30+
impl T for MyStruct {
31+
type Input = usize;
32+
33+
/// [link from method][MyStruct::method] on method
34+
// @has 'associated_items/struct.MyStruct.html' '//a[@href="../associated_items/struct.MyStruct.html#method.method"]' 'link from method'
35+
fn method(i: usize) {
36+
}
37+
}
38+
39+
/// Ambiguity between which trait to use
40+
pub trait T1 {
41+
fn ambiguous_method();
42+
}
43+
44+
pub trait T2 {
45+
fn ambiguous_method();
46+
}
47+
48+
/// Link to [S::ambiguous_method]
49+
// FIXME: there is no way to disambiguate these.
50+
// Since we have `#[deny(intra_doc_failure)]`, we still know it was one or the other.
51+
pub struct S;
52+
53+
impl T1 for S {
54+
fn ambiguous_method() {}
55+
}
56+
57+
impl T2 for S {
58+
fn ambiguous_method() {}
59+
}
60+
61+
fn main() {}

src/test/rustdoc/auxiliary/intra-link-proc-macro-macro.rs renamed to src/test/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// compile-flags: --crate-type proc-macro
44

55
#![crate_type="proc-macro"]
6-
#![crate_name="intra_link_proc_macro_macro"]
76

87
extern crate proc_macro;
98

0 commit comments

Comments
 (0)