Add E0605

This commit is contained in:
Guillaume Gomez 2017-06-07 22:24:15 +02:00
parent d5977df1c1
commit 0e4b8ffccd
5 changed files with 70 additions and 13 deletions

View file

@ -20,35 +20,45 @@ error[E0609]: no field `f` on type `fn() {main}`
75 | let _ = main.f as *const u32;
| ^
error: non-scalar cast: `*const u8` as `&u8`
error[E0605]: non-scalar cast: `*const u8` as `&u8`
--> $DIR/cast-rfc0401.rs:39:13
|
39 | let _ = v as &u8;
| ^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: non-scalar cast: `*const u8` as `E`
error[E0605]: non-scalar cast: `*const u8` as `E`
--> $DIR/cast-rfc0401.rs:40:13
|
40 | let _ = v as E;
| ^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: non-scalar cast: `*const u8` as `fn()`
error[E0605]: non-scalar cast: `*const u8` as `fn()`
--> $DIR/cast-rfc0401.rs:41:13
|
41 | let _ = v as fn();
| ^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: non-scalar cast: `*const u8` as `(u32,)`
error[E0605]: non-scalar cast: `*const u8` as `(u32,)`
--> $DIR/cast-rfc0401.rs:42:13
|
42 | let _ = v as (u32,);
| ^^^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: non-scalar cast: `std::option::Option<&*const u8>` as `*const u8`
error[E0605]: non-scalar cast: `std::option::Option<&*const u8>` as `*const u8`
--> $DIR/cast-rfc0401.rs:43:13
|
43 | let _ = Some(&v) as *const u8;
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: casting `*const u8` as `f32` is invalid
--> $DIR/cast-rfc0401.rs:45:13

View file

@ -7,7 +7,7 @@ error[E0308]: mismatched types
37 | write!(hello);
| -------------- in this macro invocation
error: non-scalar cast: `{integer}` as `()`
error[E0605]: non-scalar cast: `{integer}` as `()`
--> $DIR/issue-26480.rs:32:19
|
32 | ($x:expr) => ($x as ())
@ -15,6 +15,8 @@ error: non-scalar cast: `{integer}` as `()`
...
38 | cast!(2);
| --------- in this macro invocation
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
error: aborting due to previous error(s)