Check for raw pointer dereference in THIR unsafeck
This commit is contained in:
parent
f94942d842
commit
27fe959c2c
22 changed files with 113 additions and 10 deletions
|
|
@ -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
|
||||
|
|
@ -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) { }
|
||||
}
|
||||
|
|
|
|||
11
src/test/ui/traits/safety-fn-body.thir.stderr
Normal file
11
src/test/ui/traits/safety-fn-body.thir.stderr
Normal 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`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue