]> git.lizzy.rs Git - rust.git/blob - tests/rustdoc/sidebar-items.rs
Auto merge of #107778 - weihanglo:update-cargo, r=weihanglo
[rust.git] / tests / rustdoc / sidebar-items.rs
1 #![feature(associated_type_defaults)]
2 #![crate_name = "foo"]
3
4 // @has foo/trait.Foo.html
5 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-methods"]' 'Required Methods'
6 // @has - '//*[@class="sidebar-elems"]//section//a' 'bar'
7 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-methods"]' 'Provided Methods'
8 // @has - '//*[@class="sidebar-elems"]//section//a' 'foo'
9 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-associated-consts"]' 'Required Associated Constants'
10 // @has - '//*[@class="sidebar-elems"]//section//a' 'FOO'
11 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-consts"]' 'Provided Associated Constants'
12 // @has - '//*[@class="sidebar-elems"]//section//a' 'BAR'
13 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-associated-types"]' 'Required Associated Types'
14 // @has - '//*[@class="sidebar-elems"]//section//a' 'Output'
15 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-types"]' 'Provided Associated Types'
16 // @has - '//*[@class="sidebar-elems"]//section//a' 'Extra'
17 pub trait Foo {
18     const FOO: usize;
19     const BAR: u32 = 0;
20     type Extra: Copy = ();
21     type Output: ?Sized;
22
23     fn foo() {}
24     fn bar() -> Self::Output;
25 }
26
27 // @has foo/struct.Bar.html
28 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields'
29 // @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f"]' 'f'
30 // @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.u"]' 'u'
31 // @!has - '//*[@class="sidebar-elems"]//section//a' 'waza'
32 pub struct Bar {
33     pub f: u32,
34     pub u: u32,
35     waza: u32,
36 }
37
38 // @has foo/enum.En.html
39 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#variants"]' 'Variants'
40 // @has - '//*[@class="sidebar-elems"]//section//a' 'Foo'
41 // @has - '//*[@class="sidebar-elems"]//section//a' 'Bar'
42 pub enum En {
43     Foo,
44     Bar,
45 }
46
47 // @has foo/union.MyUnion.html
48 // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields'
49 // @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f1"]' 'f1'
50 // @has - '//*[@class="sidebar-elems"]//section//a[@href="#structfield.f2"]' 'f2'
51 // @!has - '//*[@class="sidebar-elems"]//section//a' 'waza'
52 pub union MyUnion {
53     pub f1: u32,
54     pub f2: f32,
55     waza: u32,
56 }