Skip to content

fix #8037 Numbers may not have a leading zero #8038

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion compiler/src/dotty/tools/dotc/parsing/Scanners.scala
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ object Scanners {
* there a realistic situation where one would need it?
*/
if (isDigit(ch) || (isNumberSeparator(ch) && isDigit(lookaheadChar())))
error("Non-zero numbers may not have a leading zero.")
error("Numbers may not have a leading zero.")
base = 10
}
getNumber()
Expand Down
24 changes: 20 additions & 4 deletions tests/neg/t6124.check
Original file line number Diff line number Diff line change
Expand Up @@ -57,19 +57,35 @@
-- Error: tests/neg/t6124.scala:27:11 ----------------------------------------------------------------------------------
27 | val x9 = 0_52 // error
| ^
| Non-zero numbers may not have a leading zero.
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:28:12 ----------------------------------------------------------------------------------
28 | val x10 = 052 // error
| ^
| Non-zero numbers may not have a leading zero.
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:29:12 ----------------------------------------------------------------------------------
29 | val x11 = 0_0.52 // error
| ^
| Non-zero numbers may not have a leading zero.
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:30:12 ----------------------------------------------------------------------------------
30 | val x12 = 00.52 // error
| ^
| Non-zero numbers may not have a leading zero.
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:31:12 ----------------------------------------------------------------------------------
31 | val x13 = 00 // error
| ^
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:32:12 ----------------------------------------------------------------------------------
32 | val x14 = 00d // error
| ^
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:33:12 ----------------------------------------------------------------------------------
33 | val x15 = 00.0 // error
| ^
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:34:12 ----------------------------------------------------------------------------------
34 | val x16 = 0_0 // error
| ^
| Numbers may not have a leading zero.
-- Error: tests/neg/t6124.scala:12:17 ----------------------------------------------------------------------------------
12 | def tooSmall = 1.0E-325 // error
| ^^^^^^^^
Expand Down
4 changes: 4 additions & 0 deletions tests/neg/t6124.scala
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ trait T {
val x10 = 052 // error
val x11 = 0_0.52 // error
val x12 = 00.52 // error
val x13 = 00 // error
val x14 = 00d // error
val x15 = 00.0 // error
val x16 = 0_0 // error

def z = 0
}