Skip to content

Commit d07360a

Browse files
committed
---
yaml --- r: 14173 b: refs/heads/try c: a681628 h: refs/heads/master i: 14171: 851c230 v: v3
1 parent 336b7b0 commit d07360a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: d493438c9805ff82b45aa5c40941c05311794130
5+
refs/heads/try: a681628bd4faf9135f0764b3f1f1fdcafc491de6
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/comp/syntax/parse/lexer.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
220220
tp = if signed { either::left(ast::ty_i64) }
221221
else { either::right(ast::ty_u64) };
222222
}
223+
if str::byte_len(num_str) == 0u {
224+
rdr.fatal("no valid digits found for number");
225+
}
223226
let parsed = u64::from_str(num_str, base as u64);
224227
alt tp {
225228
either::left(t) { ret token::LIT_INT(parsed as i64, t); }
@@ -264,6 +267,9 @@ fn scan_number(c: char, rdr: reader) -> token::token {
264267
ret token::LIT_FLOAT(interner::intern(*rdr.interner, num_str),
265268
ast::ty_f);
266269
} else {
270+
if str::byte_len(num_str) == 0u {
271+
rdr.fatal("no valid digits found for number");
272+
}
267273
let parsed = u64::from_str(num_str, base as u64);
268274
ret token::LIT_INT(parsed as i64, ast::ty_i);
269275
}

0 commit comments

Comments
 (0)