File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,8 @@ pub fn parse_decimal(s: &str) -> ParseResult {
7373 }
7474 Some ( & b'.' ) => {
7575 let ( fractional, s) = eat_digits ( & s[ 1 ..] ) ;
76- if integral. is_empty ( ) && fractional. is_empty ( ) && s. is_empty ( ) {
76+ if integral. is_empty ( ) && fractional. is_empty ( ) {
77+ // We require at least a single digit before or after the point.
7778 return Invalid ;
7879 }
7980
Original file line number Diff line number Diff line change @@ -101,6 +101,12 @@ fn lonely_dot() {
101101 assert ! ( "." . parse:: <f64 >( ) . is_err( ) ) ;
102102}
103103
104+ #[ test]
105+ fn exponentiated_dot ( ) {
106+ assert ! ( ".e0" . parse:: <f32 >( ) . is_err( ) ) ;
107+ assert ! ( ".e0" . parse:: <f64 >( ) . is_err( ) ) ;
108+ }
109+
104110#[ test]
105111fn lonely_sign ( ) {
106112 assert ! ( "+" . parse:: <f32 >( ) . is_err( ) ) ;
You can’t perform that action at this time.
0 commit comments