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 {
73
73
}
74
74
Some ( & b'.' ) => {
75
75
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.
77
78
return Invalid ;
78
79
}
79
80
Original file line number Diff line number Diff line change @@ -101,6 +101,12 @@ fn lonely_dot() {
101
101
assert ! ( "." . parse:: <f64 >( ) . is_err( ) ) ;
102
102
}
103
103
104
+ #[ test]
105
+ fn exponentiated_dot ( ) {
106
+ assert ! ( ".e0" . parse:: <f32 >( ) . is_err( ) ) ;
107
+ assert ! ( ".e0" . parse:: <f64 >( ) . is_err( ) ) ;
108
+ }
109
+
104
110
#[ test]
105
111
fn lonely_sign ( ) {
106
112
assert ! ( "+" . parse:: <f32 >( ) . is_err( ) ) ;
You can’t perform that action at this time.
0 commit comments