Skip to content

Commit 28b86e0

Browse files
committed
Auto merge of #79329 - camelid:int-lit-suffix-error, r=davidtwco
Update error to reflect that integer literals can have float suffixes For example, `1` is parsed as an integer literal, but it can be turned into a float with the suffix `f32`. Now the error calls them "numeric literals" and notes that you can add a float suffix since they can be either integers or floats.
2 parents cf9bfdb + a3cde63 commit 28b86e0

File tree

7 files changed

+17
-17
lines changed

7 files changed

+17
-17
lines changed

Diff for: compiler/rustc_parse/src/parser/expr.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1450,10 +1450,10 @@ impl<'a> Parser<'a> {
14501450
.help("valid widths are 8, 16, 32, 64 and 128")
14511451
.emit();
14521452
} else {
1453-
let msg = format!("invalid suffix `{}` for integer literal", suf);
1453+
let msg = format!("invalid suffix `{}` for number literal", suf);
14541454
self.struct_span_err(span, &msg)
14551455
.span_label(span, format!("invalid suffix `{}`", suf))
1456-
.help("the suffix must be one of the integral types (`u32`, `isize`, etc)")
1456+
.help("the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)")
14571457
.emit();
14581458
}
14591459
}

Diff for: src/test/ui/old-suffixes-are-really-forbidden.stderr

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
error: invalid suffix `is` for integer literal
1+
error: invalid suffix `is` for number literal
22
--> $DIR/old-suffixes-are-really-forbidden.rs:2:13
33
|
44
LL | let a = 1_is;
55
| ^^^^ invalid suffix `is`
66
|
7-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
7+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
88

9-
error: invalid suffix `us` for integer literal
9+
error: invalid suffix `us` for number literal
1010
--> $DIR/old-suffixes-are-really-forbidden.rs:3:13
1111
|
1212
LL | let b = 2_us;
1313
| ^^^^ invalid suffix `us`
1414
|
15-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
15+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
1616

1717
error: aborting due to 2 previous errors
1818

Diff for: src/test/ui/parser/bad-lit-suffixes.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ fn main() {
1919
1234f1024; //~ ERROR invalid width `1024` for float literal
2020
1234.5f1024; //~ ERROR invalid width `1024` for float literal
2121

22-
1234suffix; //~ ERROR invalid suffix `suffix` for integer literal
23-
0b101suffix; //~ ERROR invalid suffix `suffix` for integer literal
22+
1234suffix; //~ ERROR invalid suffix `suffix` for number literal
23+
0b101suffix; //~ ERROR invalid suffix `suffix` for number literal
2424
1.0suffix; //~ ERROR invalid suffix `suffix` for float literal
2525
1.0e10suffix; //~ ERROR invalid suffix `suffix` for float literal
2626
}

Diff for: src/test/ui/parser/bad-lit-suffixes.stderr

+4-4
Original file line numberDiff line numberDiff line change
@@ -78,21 +78,21 @@ LL | 1234.5f1024;
7878
|
7979
= help: valid widths are 32 and 64
8080

81-
error: invalid suffix `suffix` for integer literal
81+
error: invalid suffix `suffix` for number literal
8282
--> $DIR/bad-lit-suffixes.rs:22:5
8383
|
8484
LL | 1234suffix;
8585
| ^^^^^^^^^^ invalid suffix `suffix`
8686
|
87-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
87+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
8888

89-
error: invalid suffix `suffix` for integer literal
89+
error: invalid suffix `suffix` for number literal
9090
--> $DIR/bad-lit-suffixes.rs:23:5
9191
|
9292
LL | 0b101suffix;
9393
| ^^^^^^^^^^^ invalid suffix `suffix`
9494
|
95-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
95+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
9696

9797
error: invalid suffix `suffix` for float literal
9898
--> $DIR/bad-lit-suffixes.rs:24:5

Diff for: src/test/ui/parser/no-binary-float-literal.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ fn main() {
44
0b101.010;
55
//~^ ERROR binary float literal is not supported
66
0b101p4f64;
7-
//~^ ERROR invalid suffix `p4f64` for integer literal
7+
//~^ ERROR invalid suffix `p4f64` for number literal
88
}

Diff for: src/test/ui/parser/no-binary-float-literal.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ error: binary float literal is not supported
1010
LL | 0b101010f64;
1111
| ^^^^^^^^^^^ not supported
1212

13-
error: invalid suffix `p4f64` for integer literal
13+
error: invalid suffix `p4f64` for number literal
1414
--> $DIR/no-binary-float-literal.rs:6:5
1515
|
1616
LL | 0b101p4f64;
1717
| ^^^^^^^^^^ invalid suffix `p4f64`
1818
|
19-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
19+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
2020

2121
error: aborting due to 3 previous errors
2222

Diff for: src/tools/clippy/tests/ui/crashes/ice-3891.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
error: invalid suffix `x` for integer literal
1+
error: invalid suffix `x` for number literal
22
--> $DIR/ice-3891.rs:2:5
33
|
44
LL | 1x;
55
| ^^ invalid suffix `x`
66
|
7-
= help: the suffix must be one of the integral types (`u32`, `isize`, etc)
7+
= help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)
88

99
error: aborting due to previous error
1010

0 commit comments

Comments
 (0)