about summary refs log tree commit diff
path: root/tests/ui/misnamed_getters.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/misnamed_getters.fixed')
-rw-r--r--tests/ui/misnamed_getters.fixed143
1 files changed, 143 insertions, 0 deletions
diff --git a/tests/ui/misnamed_getters.fixed b/tests/ui/misnamed_getters.fixed
new file mode 100644
index 00000000000..2a7a2067ee0
--- /dev/null
+++ b/tests/ui/misnamed_getters.fixed
@@ -0,0 +1,143 @@
+#![allow(unused)]
+#![warn(clippy::misnamed_getters)]
+
+struct A {
+    a: u8,
+    b: u8,
+    c: u8,
+}
+
+impl A {
+    fn a(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        //~| NOTE: `-D clippy::misnamed-getters` implied by `-D warnings`
+        &self.a
+    }
+    fn a_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.a
+    }
+
+    fn b(self) -> u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        self.b
+    }
+
+    fn b_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.b
+    }
+
+    fn c(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &self.c
+    }
+
+    fn c_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.c
+    }
+}
+
+union B {
+    a: u8,
+    b: u8,
+}
+
+impl B {
+    unsafe fn a(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &self.a
+    }
+    unsafe fn a_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.a
+    }
+
+    unsafe fn b(self) -> u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        self.b
+    }
+
+    unsafe fn b_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.b
+    }
+
+    unsafe fn c(&self) -> &u8 {
+        &self.b
+    }
+
+    unsafe fn c_mut(&mut self) -> &mut u8 {
+        &mut self.a
+    }
+
+    unsafe fn a_unchecked(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &self.a
+    }
+    unsafe fn a_unchecked_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.a
+    }
+
+    unsafe fn b_unchecked(self) -> u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        self.b
+    }
+
+    unsafe fn b_unchecked_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.b
+    }
+
+    unsafe fn c_unchecked(&self) -> &u8 {
+        &self.b
+    }
+
+    unsafe fn c_unchecked_mut(&mut self) -> &mut u8 {
+        &mut self.a
+    }
+}
+
+struct D {
+    d: u8,
+    inner: A,
+}
+
+impl core::ops::Deref for D {
+    type Target = A;
+    fn deref(&self) -> &A {
+        &self.inner
+    }
+}
+
+impl core::ops::DerefMut for D {
+    fn deref_mut(&mut self) -> &mut A {
+        &mut self.inner
+    }
+}
+
+impl D {
+    fn a(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &self.a
+    }
+    fn a_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.a
+    }
+
+    fn d(&self) -> &u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &self.d
+    }
+    fn d_mut(&mut self) -> &mut u8 {
+        //~^ ERROR: getter function appears to return the wrong field
+        &mut self.d
+    }
+}
+
+fn main() {
+    // test code goes here
+}