- let parent_len = self.substs.len() - 5;
- SplitGeneratorSubsts {
- resume_ty: self.substs.type_at(parent_len),
- yield_ty: self.substs.type_at(parent_len + 1),
- return_ty: self.substs.type_at(parent_len + 2),
- witness: self.substs.type_at(parent_len + 3),
- tupled_upvars_ty: self.substs.type_at(parent_len + 4),
+ match self.substs[..] {
+ [.., resume_ty, yield_ty, return_ty, witness, tupled_upvars_ty] => {
+ SplitGeneratorSubsts { resume_ty, yield_ty, return_ty, witness, tupled_upvars_ty }
+ }
+ _ => bug!("generator substs missing synthetics"),