Add new tests to highlight the behavior of errors thrown when meeting a
self pointer.
gcc/testsuite/ChangeLog:
* rust/compile/self_const_ptr.rs: New test.
* rust/compile/self_mut_ptr.rs: New test.
* rust/compile/self_ptr.rs: New test.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
--- /dev/null
+struct MyStruct;
+
+impl MyStruct {
+ pub fn do_something(*const self) {}
+ // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 }
+ // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 }
+ // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 }
+}
--- /dev/null
+struct MyStruct;
+
+impl MyStruct {
+ pub fn do_something(*mut self) {}
+ // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 }
+ // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 }
+ // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 }
+}
--- /dev/null
+struct MyStruct;
+
+impl MyStruct {
+ pub fn do_something(*self) {}
+ // { dg-error "cannot pass .self. by raw pointer" "" { target *-*-* } .-1 }
+ // { dg-error "failed to parse inherent impl item in inherent impl" "" { target *-*-* } .-2 }
+ // { dg-error "failed to parse item in crate" "" { target *-*-* } .-3 }
+}