Check for raw pointer dereference in THIR unsafeck

This commit is contained in:
LeSeulArtichaut 2021-05-14 23:19:59 +02:00
parent f94942d842
commit 27fe959c2c
22 changed files with 113 additions and 10 deletions

View file

@ -1,5 +1,5 @@
error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block
--> $DIR/safety-fn-body.rs:11:9
--> $DIR/safety-fn-body.rs:14:9
|
LL | *self += 1;
| ^^^^^^^^^^ dereference of raw pointer

View file

@ -1,6 +1,9 @@
// Check that an unsafe impl does not imply that unsafe actions are
// legal in the methods.
// revisions: mir thir
// [thir]compile-flags: -Z thir-unsafeck
unsafe trait UnsafeTrait : Sized {
fn foo(self) { }
}

View file

@ -0,0 +1,11 @@
error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block
--> $DIR/safety-fn-body.rs:14:9
|
LL | *self += 1;
| ^^^^^ dereference of raw pointer
|
= note: raw pointers may be NULL, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
error: aborting due to previous error
For more information about this error, try `rustc --explain E0133`.