Skip to content

Commit f681d2b

Browse files
authored
Merge pull request #8038 from dvirf1/leading-zeros
fix #8037 Numbers may not have a leading zero
2 parents 754a552 + d160fb2 commit f681d2b

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

compiler/src/dotty/tools/dotc/parsing/Scanners.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ object Scanners {
722722
* there a realistic situation where one would need it?
723723
*/
724724
if (isDigit(ch) || (isNumberSeparator(ch) && isDigit(lookaheadChar())))
725-
error("Non-zero numbers may not have a leading zero.")
725+
error("Numbers may not have a leading zero.")
726726
base = 10
727727
}
728728
getNumber()

tests/neg/t6124.check

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,35 @@
5757
-- Error: tests/neg/t6124.scala:27:11 ----------------------------------------------------------------------------------
5858
27 | val x9 = 0_52 // error
5959
| ^
60-
| Non-zero numbers may not have a leading zero.
60+
| Numbers may not have a leading zero.
6161
-- Error: tests/neg/t6124.scala:28:12 ----------------------------------------------------------------------------------
6262
28 | val x10 = 052 // error
6363
| ^
64-
| Non-zero numbers may not have a leading zero.
64+
| Numbers may not have a leading zero.
6565
-- Error: tests/neg/t6124.scala:29:12 ----------------------------------------------------------------------------------
6666
29 | val x11 = 0_0.52 // error
6767
| ^
68-
| Non-zero numbers may not have a leading zero.
68+
| Numbers may not have a leading zero.
6969
-- Error: tests/neg/t6124.scala:30:12 ----------------------------------------------------------------------------------
7070
30 | val x12 = 00.52 // error
7171
| ^
72-
| Non-zero numbers may not have a leading zero.
72+
| Numbers may not have a leading zero.
73+
-- Error: tests/neg/t6124.scala:31:12 ----------------------------------------------------------------------------------
74+
31 | val x13 = 00 // error
75+
| ^
76+
| Numbers may not have a leading zero.
77+
-- Error: tests/neg/t6124.scala:32:12 ----------------------------------------------------------------------------------
78+
32 | val x14 = 00d // error
79+
| ^
80+
| Numbers may not have a leading zero.
81+
-- Error: tests/neg/t6124.scala:33:12 ----------------------------------------------------------------------------------
82+
33 | val x15 = 00.0 // error
83+
| ^
84+
| Numbers may not have a leading zero.
85+
-- Error: tests/neg/t6124.scala:34:12 ----------------------------------------------------------------------------------
86+
34 | val x16 = 0_0 // error
87+
| ^
88+
| Numbers may not have a leading zero.
7389
-- Error: tests/neg/t6124.scala:12:17 ----------------------------------------------------------------------------------
7490
12 | def tooSmall = 1.0E-325 // error
7591
| ^^^^^^^^

tests/neg/t6124.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ trait T {
2828
val x10 = 052 // error
2929
val x11 = 0_0.52 // error
3030
val x12 = 00.52 // error
31+
val x13 = 00 // error
32+
val x14 = 00d // error
33+
val x15 = 00.0 // error
34+
val x16 = 0_0 // error
3135

3236
def z = 0
3337
}

0 commit comments

Comments
 (0)