Skip to content

Commit 05deff3

Browse files
committed
---
yaml --- r: 7038 b: refs/heads/master c: 516fbed h: refs/heads/master v: v3
1 parent 088f96f commit 05deff3

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

[refs]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 6559aa8bfb79b55280ea19d479aca681b5551cd7
2+
refs/heads/master: 516fbed230479f5aff93ba510bfcc681c35cbf80

trunk/src/comp/syntax/parse/parser.rs

+6-9
Original file line numberDiff line numberDiff line change
@@ -394,26 +394,23 @@ fn parse_type_constraints(p: parser) -> [@ast::ty_constr] {
394394
ret parse_constrs(parse_constr_in_type, p);
395395
}
396396

397-
fn parse_ty_postfix(orig_t: ast::ty_, p: parser, colons_before_params: bool)
398-
-> @ast::ty {
399-
let lo = p.get_lo_pos();
400-
397+
fn parse_ty_postfix(orig_t: ast::ty_, p: parser, colons_before_params: bool,
398+
lo: uint) -> @ast::ty {
401399
if colons_before_params && p.peek() == token::MOD_SEP {
402400
p.bump();
403401
expect(p, token::LT);
404402
} else if !colons_before_params && p.peek() == token::LT {
405403
p.bump();
406-
} else { ret @spanned(lo, p.get_lo_pos(), orig_t); }
404+
} else { ret @spanned(lo, p.get_last_hi_pos(), orig_t); }
407405

408406
// If we're here, we have explicit type parameter instantiation.
409407
let seq = parse_seq_to_gt(some(token::COMMA), {|p| parse_ty(p, false)},
410408
p);
411409

412410
alt orig_t {
413411
ast::ty_path(pth, ann) {
414-
let hi = p.get_hi_pos();
415-
ret @spanned(lo, hi,
416-
ast::ty_path(@spanned(lo, hi,
412+
ret @spanned(lo, p.get_last_hi_pos(),
413+
ast::ty_path(@spanned(lo, p.get_last_hi_pos(),
417414
{global: pth.node.global,
418415
idents: pth.node.idents,
419416
types: seq}), ann));
@@ -527,7 +524,7 @@ fn parse_ty(p: parser, colons_before_params: bool) -> @ast::ty {
527524
let path = parse_path(p);
528525
t = ast::ty_path(path, p.get_id());
529526
} else { p.fatal("expecting type"); }
530-
ret parse_ty_postfix(t, p, colons_before_params);
527+
ret parse_ty_postfix(t, p, colons_before_params, lo);
531528
}
532529

533530
fn parse_arg_mode(p: parser) -> ast::mode {

0 commit comments

Comments
 (0)