@@ -843,15 +843,15 @@ fn parse_type_param_def_<'a, 'tcx, F>(st: &mut PState<'a, 'tcx>, conv: &mut F)
843843
844844fn parse_object_lifetime_default < ' a , ' tcx , F > ( st : & mut PState < ' a , ' tcx > ,
845845 conv : & mut F )
846- -> Option < ty:: ObjectLifetimeDefault >
846+ -> ty:: ObjectLifetimeDefault
847847 where F : FnMut ( DefIdSource , ast:: DefId ) -> ast:: DefId ,
848848{
849849 match next ( st) {
850- 'n ' => None ,
851- 'a ' => Some ( ty:: ObjectLifetimeDefault :: Ambiguous ) ,
850+ 'a ' => ty :: ObjectLifetimeDefault :: Ambiguous ,
851+ 'b ' => ty:: ObjectLifetimeDefault :: BaseDefault ,
852852 's' => {
853853 let region = parse_region_ ( st, conv) ;
854- Some ( ty:: ObjectLifetimeDefault :: Specific ( region) )
854+ ty:: ObjectLifetimeDefault :: Specific ( region)
855855 }
856856 _ => panic ! ( "parse_object_lifetime_default: bad input" )
857857 }
@@ -887,9 +887,16 @@ fn parse_existential_bounds_<'a,'tcx, F>(st: &mut PState<'a,'tcx>,
887887 }
888888 }
889889
890+ let region_bound_will_change = match next ( st) {
891+ 'y' => true ,
892+ 'n' => false ,
893+ c => panic ! ( "parse_ty: expected y/n not '{}'" , c)
894+ } ;
895+
890896 return ty:: ExistentialBounds { region_bound : region_bound,
891897 builtin_bounds : builtin_bounds,
892- projection_bounds : projection_bounds } ;
898+ projection_bounds : projection_bounds,
899+ region_bound_will_change : region_bound_will_change } ;
893900}
894901
895902fn parse_builtin_bounds < F > ( st : & mut PState , mut _conv : F ) -> ty:: BuiltinBounds where
0 commit comments