summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc/toggle-trait-fn.rs
blob: 686a174fc8f954b4aa95e29912acf0b7fcb05ea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#![crate_name = "foo"]

// Trait methods with documentation should be wrapped in a <details> toggle with an appropriate
// summary. Trait methods with no documentation should not be wrapped.
//
// @has foo/trait.Foo.html
// @has - '//details[@class="toggle"]//summary//h4[@class="code-header"]' 'type Item'
// @!has - '//details[@class="toggle"]//summary//h4[@class="code-header"]' 'type Item2'
// @has -  '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'is_documented()'
// @!has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'not_documented()'
// @has -  '//details[@class="toggle method-toggle"]//*[@class="docblock"]' 'is_documented is documented'
// @has -  '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'is_documented_optional()'
// @!has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'not_documented_optional()'
// @has -  '//details[@class="toggle method-toggle"]//*[@class="docblock"]' 'is_documented_optional is documented'
pub trait Foo {
    /// is documented
    type Item;

    type Item2;

    fn not_documented();

    /// is_documented is documented
    fn is_documented();

    fn not_documented_optional() {}

    /// is_documented_optional is documented
    fn is_documented_optional() {}
}