From d160fb271722eab4c622220703ee720c0593efbe Mon Sep 17 00:00:00 2001 From: Dvir Faivel Date: Sun, 19 Jan 2020 23:14:56 +0200 Subject: [PATCH] fix #8037 Numbers may not have a leading zero --- .../dotty/tools/dotc/parsing/Scanners.scala | 2 +- tests/neg/t6124.check | 24 +++++++++++++++---- tests/neg/t6124.scala | 4 ++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala index 58deda8268dc..7ce23ca98b10 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala @@ -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() diff --git a/tests/neg/t6124.check b/tests/neg/t6124.check index e409d7de43e8..f4ca79338fe2 100644 --- a/tests/neg/t6124.check +++ b/tests/neg/t6124.check @@ -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 | ^^^^^^^^ diff --git a/tests/neg/t6124.scala b/tests/neg/t6124.scala index 9bb63da16978..4ac8c36defac 100644 --- a/tests/neg/t6124.scala +++ b/tests/neg/t6124.scala @@ -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 }