]>
Commit | Line | Data |
---|---|---|
04454e1e | 1 | #![feature(associated_type_defaults)] |
abe05a73 XL |
2 | #![crate_name = "foo"] |
3 | ||
4 | // @has foo/trait.Foo.html | |
2b03887a | 5 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-methods"]' 'Required Methods' |
5099ac24 | 6 | // @has - '//*[@class="sidebar-elems"]//section//a' 'bar' |
2b03887a | 7 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-methods"]' 'Provided Methods' |
5099ac24 | 8 | // @has - '//*[@class="sidebar-elems"]//section//a' 'foo' |
2b03887a | 9 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-associated-consts"]' 'Required Associated Constants' |
04454e1e | 10 | // @has - '//*[@class="sidebar-elems"]//section//a' 'FOO' |
2b03887a | 11 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-consts"]' 'Provided Associated Constants' |
5099ac24 | 12 | // @has - '//*[@class="sidebar-elems"]//section//a' 'BAR' |
2b03887a | 13 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#required-associated-types"]' 'Required Associated Types' |
5099ac24 | 14 | // @has - '//*[@class="sidebar-elems"]//section//a' 'Output' |
2b03887a | 15 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#provided-associated-types"]' 'Provided Associated Types' |
04454e1e | 16 | // @has - '//*[@class="sidebar-elems"]//section//a' 'Extra' |
abe05a73 | 17 | pub trait Foo { |
04454e1e | 18 | const FOO: usize; |
abe05a73 | 19 | const BAR: u32 = 0; |
04454e1e | 20 | type Extra: Copy = (); |
abe05a73 XL |
21 | type Output: ?Sized; |
22 | ||
23 | fn foo() {} | |
24 | fn bar() -> Self::Output; | |
25 | } | |
26 | ||
27 | // @has foo/struct.Bar.html | |
2b03887a | 28 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields' |
5099ac24 FG |
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' | |
abe05a73 XL |
32 | pub struct Bar { |
33 | pub f: u32, | |
34 | pub u: u32, | |
8faf50e0 | 35 | waza: u32, |
abe05a73 XL |
36 | } |
37 | ||
38 | // @has foo/enum.En.html | |
2b03887a | 39 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#variants"]' 'Variants' |
5099ac24 FG |
40 | // @has - '//*[@class="sidebar-elems"]//section//a' 'Foo' |
41 | // @has - '//*[@class="sidebar-elems"]//section//a' 'Bar' | |
abe05a73 | 42 | pub enum En { |
a2a8927a XL |
43 | Foo, |
44 | Bar, | |
abe05a73 XL |
45 | } |
46 | ||
47 | // @has foo/union.MyUnion.html | |
2b03887a | 48 | // @has - '//div[@class="sidebar-elems"]//h3/a[@href="#fields"]' 'Fields' |
5099ac24 FG |
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' | |
abe05a73 XL |
52 | pub union MyUnion { |
53 | pub f1: u32, | |
54 | pub f2: f32, | |
8faf50e0 | 55 | waza: u32, |
abe05a73 | 56 | } |