Skip to content

Commit 851e4dd

Browse files
committed
---
yaml --- r: 8187 b: refs/heads/snap-stage3 c: a681628 h: refs/heads/master i: 8185: 5613c78 8183: 4029798 v: v3
1 parent 37e1380 commit 851e4dd

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
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 2898dcc5d97da9427ac367542382b6239d9c0bbf
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: d493438c9805ff82b45aa5c40941c05311794130
4+
refs/heads/snap-stage3: a681628bd4faf9135f0764b3f1f1fdcafc491de6
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/snap-stage3/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)