File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
branches/try/src/comp/syntax/parse Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5
- refs/heads/try: d493438c9805ff82b45aa5c40941c05311794130
5
+ refs/heads/try: a681628bd4faf9135f0764b3f1f1fdcafc491de6
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
Original file line number Diff line number Diff line change @@ -220,6 +220,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
220
220
tp = if signed { either:: left ( ast:: ty_i64) }
221
221
else { either:: right ( ast:: ty_u64) } ;
222
222
}
223
+ if str:: byte_len ( num_str) == 0 u {
224
+ rdr. fatal ( "no valid digits found for number" ) ;
225
+ }
223
226
let parsed = u64:: from_str ( num_str, base as u64 ) ;
224
227
alt tp {
225
228
either : : left ( t) { ret token:: LIT_INT ( parsed as i64 , t) ; }
@@ -264,6 +267,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
264
267
ret token:: LIT_FLOAT ( interner:: intern ( * rdr. interner , num_str) ,
265
268
ast:: ty_f) ;
266
269
} else {
270
+ if str:: byte_len ( num_str) == 0 u {
271
+ rdr. fatal ( "no valid digits found for number" ) ;
272
+ }
267
273
let parsed = u64:: from_str ( num_str, base as u64 ) ;
268
274
ret token:: LIT_INT ( parsed as i64 , ast:: ty_i) ;
269
275
}
You can’t perform that action at this time.
0 commit comments