]>
Commit | Line | Data |
---|---|---|
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 | } |