File tree Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -423,13 +423,18 @@ fn parse_type_constraints(p: &parser) -> [@ast::ty_constr] {
423
423
424
424
fn parse_ty_postfix ( orig_t : ast:: ty_ , p : & parser ) -> @ast:: ty {
425
425
let lo = p. get_lo_pos ( ) ;
426
- if p. peek ( ) == token:: LBRACKET {
426
+ if p. peek ( ) == token:: LBRACKET || p. peek ( ) == token:: LT {
427
+ let end;
428
+ if p. peek ( ) == token:: LBRACKET {
429
+ end = token:: RBRACKET ;
430
+ } else {
431
+ end = token:: GT ;
432
+ }
433
+
427
434
// This is explicit type parameter instantiation.
428
435
p. bump ( ) ;
429
436
430
- let seq =
431
- parse_seq_to_end ( token:: RBRACKET , some ( token:: COMMA ) ,
432
- parse_ty, p) ;
437
+ let seq = parse_seq_to_end ( end, some ( token:: COMMA ) , parse_ty, p) ;
433
438
434
439
alt orig_t {
435
440
ast : : ty_path ( pth, ann) {
@@ -1725,6 +1730,11 @@ fn parse_ty_params(p: &parser) -> [ast::ty_param] {
1725
1730
parse_seq ( token:: LBRACKET , token:: RBRACKET , some ( token:: COMMA ) ,
1726
1731
parse_ty_param, p) . node ;
1727
1732
}
1733
+ if p. peek ( ) == token:: LT {
1734
+ ty_params =
1735
+ parse_seq ( token:: LT , token:: GT , some ( token:: COMMA ) ,
1736
+ parse_ty_param, p) . node ;
1737
+ }
1728
1738
ret ty_params;
1729
1739
}
1730
1740
You can’t perform that action at this time.
0 commit comments