diff options
| author | Giacomo Stevanato <giaco.stevanato@gmail.com> | 2021-04-15 23:17:44 +0200 |
|---|---|---|
| committer | Giacomo Stevanato <giaco.stevanato@gmail.com> | 2021-04-15 23:59:29 +0200 |
| commit | 791e8001d1368a34fc938ed0e39f600c1b4079e1 (patch) | |
| tree | fb48a6e22661626556f0ab747aed4b76ed691856 | |
| parent | 2899b58832fec1fd3570e65e231920d2a2e937ae (diff) | |
| download | rust-791e8001d1368a34fc938ed0e39f600c1b4079e1.tar.gz rust-791e8001d1368a34fc938ed0e39f600c1b4079e1.zip | |
Add regression test
| -rw-r--r-- | src/test/ui/cast/issue-84213.fixed | 15 | ||||
| -rw-r--r-- | src/test/ui/cast/issue-84213.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/cast/issue-84213.stderr | 25 |
3 files changed, 55 insertions, 0 deletions
diff --git a/src/test/ui/cast/issue-84213.fixed b/src/test/ui/cast/issue-84213.fixed new file mode 100644 index 00000000000..e1a60557a20 --- /dev/null +++ b/src/test/ui/cast/issue-84213.fixed @@ -0,0 +1,15 @@ +// run-rustfix + +struct Something { + pub field: u32, +} + +fn main() { + let mut something = Something { field: 1337 }; + + let _pointer_to_something = &something as *const Something; + //~^ ERROR: non-primitive cast + + let _mut_pointer_to_something = &mut something as *mut Something; + //~^ ERROR: non-primitive cast +} diff --git a/src/test/ui/cast/issue-84213.rs b/src/test/ui/cast/issue-84213.rs new file mode 100644 index 00000000000..3df264bdffb --- /dev/null +++ b/src/test/ui/cast/issue-84213.rs @@ -0,0 +1,15 @@ +// run-rustfix + +struct Something { + pub field: u32, +} + +fn main() { + let mut something = Something { field: 1337 }; + + let _pointer_to_something = something as *const Something; + //~^ ERROR: non-primitive cast + + let _mut_pointer_to_something = something as *mut Something; + //~^ ERROR: non-primitive cast +} diff --git a/src/test/ui/cast/issue-84213.stderr b/src/test/ui/cast/issue-84213.stderr new file mode 100644 index 00000000000..a76aac58013 --- /dev/null +++ b/src/test/ui/cast/issue-84213.stderr @@ -0,0 +1,25 @@ +error[E0605]: non-primitive cast: `Something` as `*const Something` + --> $DIR/issue-84213.rs:10:33 + | +LL | let _pointer_to_something = something as *const Something; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid cast + | +help: borrow the value for the cast to be valid + | +LL | let _pointer_to_something = &something as *const Something; + | ^ + +error[E0605]: non-primitive cast: `Something` as `*mut Something` + --> $DIR/issue-84213.rs:13:37 + | +LL | let _mut_pointer_to_something = something as *mut Something; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid cast + | +help: borrow the value for the cast to be valid + | +LL | let _mut_pointer_to_something = &mut something as *mut Something; + | ^^^^ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0605`. |
