@@ -471,14 +471,14 @@ fn parse_ty_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F) -> Ty<'tcx> w
471471 let def = parse_def_ ( st, NominalType , conv) ;
472472 let substs = parse_substs_ ( st, conv) ;
473473 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) ) ;
475475 }
476476 'x' => {
477477 assert_eq ! ( next( st) , '[' ) ;
478478 let trait_ref = ty:: Binder ( parse_trait_ref_ ( st, conv) ) ;
479479 let bounds = parse_existential_bounds_ ( st, conv) ;
480480 assert_eq ! ( next( st) , ']' ) ;
481- return ty :: mk_trait ( tcx , trait_ref, bounds) ;
481+ return tcx . mk_trait ( trait_ref, bounds) ;
482482 }
483483 'p' => {
484484 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
487487 let space = parse_param_space ( st) ;
488488 assert_eq ! ( next( st) , '|' ) ;
489489 let name = token:: intern ( & parse_str ( st, ']' ) ) ;
490- return ty :: mk_param ( tcx , space, index, name) ;
490+ return tcx . mk_param ( space, index, name) ;
491491 }
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) ) ,
494494 '&' => {
495495 let r = parse_region_ ( st, conv) ;
496496 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) ;
498498 }
499499 'V' => {
500500 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+ } ;
503505 }
504506 'v' => {
505- return ty :: mk_str ( tcx ) ;
507+ return tcx . mk_str ( ) ;
506508 }
507509 'T' => {
508510 assert_eq ! ( next( st) , '[' ) ;
509511 let mut params = Vec :: new ( ) ;
510512 while peek ( st) != ']' { params. push ( parse_ty_ ( st, conv) ) ; }
511513 st. pos = st. pos + 1 ;
512- return ty :: mk_tup ( tcx , params) ;
514+ return tcx . mk_tup ( params) ;
513515 }
514516 'F' => {
515517 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) ) ) ;
518519 }
519520 '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) ) ) ;
522522 }
523523 '#' => {
524524 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
558558 let did = parse_def_ ( st, NominalType , conv) ;
559559 let substs = parse_substs_ ( st, conv) ;
560560 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) ) ;
562562 }
563563 'k' => {
564564 assert_eq ! ( next( st) , '[' ) ;
565565 let did = parse_def_ ( st, ClosureSource , conv) ;
566566 let substs = parse_substs_ ( st, conv) ;
567567 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) ) ;
569569 }
570570 'P' => {
571571 assert_eq ! ( next( st) , '[' ) ;
572572 let trait_ref = parse_trait_ref_ ( st, conv) ;
573573 let name = token:: intern ( & parse_str ( st, ']' ) ) ;
574- return ty :: mk_projection ( tcx , trait_ref, name) ;
574+ return tcx . mk_projection ( trait_ref, name) ;
575575 }
576576 'e' => {
577577 return tcx. types . err ;
0 commit comments