diff options
Diffstat (limited to 'src/test/rustdoc/escape-deref-methods.rs')
-rw-r--r-- | src/test/rustdoc/escape-deref-methods.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/rustdoc/escape-deref-methods.rs b/src/test/rustdoc/escape-deref-methods.rs new file mode 100644 index 000000000..a62ad2c40 --- /dev/null +++ b/src/test/rustdoc/escape-deref-methods.rs @@ -0,0 +1,35 @@ +#![crate_name = "foo"] + +use std::ops::{Deref, DerefMut}; + +#[derive(Debug, Clone)] +pub struct Title { + name: String, +} + +#[derive(Debug, Clone)] +pub struct TitleList { + pub members: Vec<Title>, +} + +impl TitleList { + pub fn new() -> Self { + TitleList { members: Vec::new() } + } +} + +impl Deref for TitleList { + type Target = Vec<Title>; + + fn deref(&self) -> &Self::Target { + &self.members + } +} + +// @has foo/struct.TitleList.html +// @has - '//*[@class="sidebar-title"]' 'Methods from Deref<Target=Vec<Title>>' +impl DerefMut for TitleList { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.members + } +} |