about summary refs log tree commit diff
path: root/tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs')
-rw-r--r--tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs b/tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs
new file mode 100644
index 00000000000..0ce5e233930
--- /dev/null
+++ b/tests/ui/parser/expr-rarrow-call-on-a-raw-pointer.rs
@@ -0,0 +1,22 @@
+#![allow(
+    dead_code,
+    unused_must_use
+)]
+
+struct Named {
+    foo: usize,
+}
+
+struct Unnamed(usize);
+
+unsafe fn named_struct_field_access(named: *mut Named) {
+    named->foo += 1; //~ ERROR `->` is not valid syntax for field accesses and method calls
+    //~^ ERROR no field `foo` on type `*mut Named`
+}
+
+unsafe fn unnamed_struct_field_access(unnamed: *mut Unnamed) {
+    unnamed->0 += 1; //~ ERROR `->` is not valid syntax for field accesses and method calls
+    //~^ ERROR no field `0` on type `*mut Unnamed`
+}
+
+fn main() {}