summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc/deref/deref-multiple-impl-blocks.rs
blob: fa3607c5fc12d711be9dfc24f7b7779a2150b3f1 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
#![crate_name="foo"]

use std::ops::{Deref, DerefMut};

// @has foo/struct.Vec.html
// @count - '//h2[@id="deref-methods-Slice"]' 1
// @count - '//div[@id="deref-methods-Slice-1"]' 1
// @count - '//div[@id="deref-methods-Slice-1"][@class="impl-items"]' 1
// @count - '//div[@id="deref-methods-Slice-1"]/div[@class="impl-items"]' 0
pub struct Vec;

pub struct Slice;

impl Deref for Vec {
    type Target = Slice;
    fn deref(&self) -> &Slice {
        &Slice
    }
}

impl DerefMut for Vec {
    fn deref_mut(&mut self) -> &mut Slice {
        &mut Slice
    }
}

impl Slice {
    pub fn sort_floats(&mut self) {
        todo!();
    }
}

impl Slice {
    pub fn sort(&mut self) {
        todo!();
    }
}

impl Slice {
    pub fn len(&self) {
        todo!();
    }
}