Suggest rewriting a malformed hex literal if we expect a float
This commit is contained in:
parent
b38a6d373c
commit
3cf22de90f
3 changed files with 87 additions and 0 deletions
13
src/test/ui/suggestions/bad-hex-float-lit.rs
Normal file
13
src/test/ui/suggestions/bad-hex-float-lit.rs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
fn main() {
|
||||
let _f: f32 = 0xAAf32;
|
||||
//~^ ERROR mismatched types
|
||||
//~| HELP rewrite this
|
||||
|
||||
let _f: f32 = 0xAB_f32;
|
||||
//~^ ERROR mismatched types
|
||||
//~| HELP rewrite this
|
||||
|
||||
let _f: f64 = 0xFF_f64;
|
||||
//~^ ERROR mismatched types
|
||||
//~| HELP rewrite this
|
||||
}
|
||||
48
src/test/ui/suggestions/bad-hex-float-lit.stderr
Normal file
48
src/test/ui/suggestions/bad-hex-float-lit.stderr
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
error[E0308]: mismatched types
|
||||
--> $DIR/bad-hex-float-lit.rs:2:19
|
||||
|
|
||||
LL | let _f: f32 = 0xAAf32;
|
||||
| --- ^^^^^^^ expected `f32`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
|
||||
|
|
||||
LL | let _f: f32 = 0xAA as f32;
|
||||
| ~~~~~~~~~~~
|
||||
LL | let _f: f32 = 170_f32;
|
||||
| ~~~~~~~
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/bad-hex-float-lit.rs:6:19
|
||||
|
|
||||
LL | let _f: f32 = 0xAB_f32;
|
||||
| --- ^^^^^^^^ expected `f32`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
|
||||
|
|
||||
LL | let _f: f32 = 0xAB as f32;
|
||||
| ~~~~~~~~~~~
|
||||
LL | let _f: f32 = 171_f32;
|
||||
| ~~~~~~~
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/bad-hex-float-lit.rs:10:19
|
||||
|
|
||||
LL | let _f: f64 = 0xFF_f64;
|
||||
| --- ^^^^^^^^ expected `f64`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: rewrite this as a decimal floating point literal, or use `as` to turn a hex literal into a float
|
||||
|
|
||||
LL | let _f: f64 = 0xFF as f64;
|
||||
| ~~~~~~~~~~~
|
||||
LL | let _f: f64 = 255_f64;
|
||||
| ~~~~~~~
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0308`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue