@@ -471,14 +471,14 @@ fn parse_ty_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F) -> Ty<'tcx> w
471
471
let def = parse_def_ ( st, NominalType , conv) ;
472
472
let substs = parse_substs_ ( st, conv) ;
473
473
assert_eq ! ( next( st) , ']' ) ;
474
- return ty :: mk_enum ( tcx , def, st. tcx . mk_substs ( substs) ) ;
474
+ return tcx . mk_enum ( def, st. tcx . mk_substs ( substs) ) ;
475
475
}
476
476
'x' => {
477
477
assert_eq ! ( next( st) , '[' ) ;
478
478
let trait_ref = ty:: Binder ( parse_trait_ref_ ( st, conv) ) ;
479
479
let bounds = parse_existential_bounds_ ( st, conv) ;
480
480
assert_eq ! ( next( st) , ']' ) ;
481
- return ty :: mk_trait ( tcx , trait_ref, bounds) ;
481
+ return tcx . mk_trait ( trait_ref, bounds) ;
482
482
}
483
483
'p' => {
484
484
assert_eq ! ( next( st) , '[' ) ;
@@ -487,38 +487,38 @@ fn parse_ty_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F) -> Ty<'tcx> w
487
487
let space = parse_param_space ( st) ;
488
488
assert_eq ! ( next( st) , '|' ) ;
489
489
let name = token:: intern ( & parse_str ( st, ']' ) ) ;
490
- return ty :: mk_param ( tcx , space, index, name) ;
490
+ return tcx . mk_param ( space, index, name) ;
491
491
}
492
- '~' => return ty :: mk_uniq ( tcx, parse_ty_ ( st, conv) ) ,
493
- '*' => return ty :: mk_ptr ( tcx , parse_mt_ ( st, conv) ) ,
492
+ '~' => return tcx. mk_box ( parse_ty_ ( st, conv) ) ,
493
+ '*' => return tcx . mk_ptr ( parse_mt_ ( st, conv) ) ,
494
494
'&' => {
495
495
let r = parse_region_ ( st, conv) ;
496
496
let mt = parse_mt_ ( st, conv) ;
497
- return ty :: mk_rptr ( tcx, tcx. mk_region ( r) , mt) ;
497
+ return tcx. mk_ref ( tcx. mk_region ( r) , mt) ;
498
498
}
499
499
'V' => {
500
500
let t = parse_ty_ ( st, conv) ;
501
- let sz = parse_size ( st) ;
502
- return ty:: mk_vec ( tcx, t, sz) ;
501
+ return match parse_size ( st) {
502
+ Some ( n) => tcx. mk_array ( t, n) ,
503
+ None => tcx. mk_slice ( t)
504
+ } ;
503
505
}
504
506
'v' => {
505
- return ty :: mk_str ( tcx ) ;
507
+ return tcx . mk_str ( ) ;
506
508
}
507
509
'T' => {
508
510
assert_eq ! ( next( st) , '[' ) ;
509
511
let mut params = Vec :: new ( ) ;
510
512
while peek ( st) != ']' { params. push ( parse_ty_ ( st, conv) ) ; }
511
513
st. pos = st. pos + 1 ;
512
- return ty :: mk_tup ( tcx , params) ;
514
+ return tcx . mk_tup ( params) ;
513
515
}
514
516
'F' => {
515
517
let def_id = parse_def_ ( st, NominalType , conv) ;
516
- return ty:: mk_bare_fn ( tcx, Some ( def_id) ,
517
- tcx. mk_bare_fn ( parse_bare_fn_ty_ ( st, conv) ) ) ;
518
+ return tcx. mk_fn ( Some ( def_id) , tcx. mk_bare_fn ( parse_bare_fn_ty_ ( st, conv) ) ) ;
518
519
}
519
520
'G' => {
520
- return ty:: mk_bare_fn ( tcx, None ,
521
- tcx. mk_bare_fn ( parse_bare_fn_ty_ ( st, conv) ) ) ;
521
+ return tcx. mk_fn ( None , tcx. mk_bare_fn ( parse_bare_fn_ty_ ( st, conv) ) ) ;
522
522
}
523
523
'#' => {
524
524
let pos = parse_hex ( st) ;
@@ -558,20 +558,20 @@ fn parse_ty_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F) -> Ty<'tcx> w
558
558
let did = parse_def_ ( st, NominalType , conv) ;
559
559
let substs = parse_substs_ ( st, conv) ;
560
560
assert_eq ! ( next( st) , ']' ) ;
561
- return ty :: mk_struct ( st. tcx , did, st. tcx . mk_substs ( substs) ) ;
561
+ return st. tcx . mk_struct ( did, st. tcx . mk_substs ( substs) ) ;
562
562
}
563
563
'k' => {
564
564
assert_eq ! ( next( st) , '[' ) ;
565
565
let did = parse_def_ ( st, ClosureSource , conv) ;
566
566
let substs = parse_substs_ ( st, conv) ;
567
567
assert_eq ! ( next( st) , ']' ) ;
568
- return ty :: mk_closure ( st. tcx , did, st. tcx . mk_substs ( substs) ) ;
568
+ return st. tcx . mk_closure ( did, st. tcx . mk_substs ( substs) ) ;
569
569
}
570
570
'P' => {
571
571
assert_eq ! ( next( st) , '[' ) ;
572
572
let trait_ref = parse_trait_ref_ ( st, conv) ;
573
573
let name = token:: intern ( & parse_str ( st, ']' ) ) ;
574
- return ty :: mk_projection ( tcx , trait_ref, name) ;
574
+ return tcx . mk_projection ( trait_ref, name) ;
575
575
}
576
576
'e' => {
577
577
return tcx. types . err ;
0 commit comments