diff options
Diffstat (limited to 'src/tools/clippy/tests/ui/wrong_self_conventions_mut.rs')
-rw-r--r-- | src/tools/clippy/tests/ui/wrong_self_conventions_mut.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/wrong_self_conventions_mut.rs b/src/tools/clippy/tests/ui/wrong_self_conventions_mut.rs new file mode 100644 index 000000000..5bb2116bd --- /dev/null +++ b/src/tools/clippy/tests/ui/wrong_self_conventions_mut.rs @@ -0,0 +1,29 @@ +#![warn(clippy::wrong_self_convention)] +#![allow(dead_code)] + +fn main() {} + +mod issue6758 { + pub enum Test<T> { + One(T), + Many(Vec<T>), + } + + impl<T> Test<T> { + // If a method starts with `to_` and not ends with `_mut` it should expect `&self` + pub fn to_many(&mut self) -> Option<&mut [T]> { + match self { + Self::Many(data) => Some(data), + _ => None, + } + } + + // If a method starts with `to_` and ends with `_mut` it should expect `&mut self` + pub fn to_many_mut(&self) -> Option<&[T]> { + match self { + Self::Many(data) => Some(data), + _ => None, + } + } + } +} |