@@ -810,13 +810,12 @@ impl<'a, 'b, 'tcx> TypeVerifier<'a, 'b, 'tcx> {
810
810
ty:: Adt ( adt_def, substs) => ( & adt_def. variants [ variant_index] , substs) ,
811
811
ty:: Generator ( def_id, substs, _) => {
812
812
let mut variants = substs. as_generator ( ) . state_tys ( def_id, tcx) ;
813
- let mut variant = match variants. nth ( variant_index. into ( ) ) {
814
- Some ( v) => v,
815
- None => bug ! (
813
+ let Some ( mut variant) = variants. nth ( variant_index. into ( ) ) else {
814
+ bug ! (
816
815
"variant_index of generator out of range: {:?}/{:?}" ,
817
816
variant_index,
818
817
substs. as_generator( ) . state_tys( def_id, tcx) . count( )
819
- ) ,
818
+ ) ;
820
819
} ;
821
820
return match variant. nth ( field. index ( ) ) {
822
821
Some ( ty) => Ok ( ty) ,
@@ -2178,35 +2177,29 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
2178
2177
}
2179
2178
2180
2179
CastKind :: Pointer ( PointerCast :: MutToConstPointer ) => {
2181
- let ty_from = match op. ty ( body, tcx) . kind ( ) {
2182
- ty:: RawPtr ( ty:: TypeAndMut {
2183
- ty : ty_from,
2184
- mutbl : hir:: Mutability :: Mut ,
2185
- } ) => ty_from,
2186
- _ => {
2187
- span_mirbug ! (
2188
- self ,
2189
- rvalue,
2190
- "unexpected base type for cast {:?}" ,
2191
- ty,
2192
- ) ;
2193
- return ;
2194
- }
2180
+ let ty:: RawPtr ( ty:: TypeAndMut {
2181
+ ty : ty_from,
2182
+ mutbl : hir:: Mutability :: Mut ,
2183
+ } ) = op. ty ( body, tcx) . kind ( ) else {
2184
+ span_mirbug ! (
2185
+ self ,
2186
+ rvalue,
2187
+ "unexpected base type for cast {:?}" ,
2188
+ ty,
2189
+ ) ;
2190
+ return ;
2195
2191
} ;
2196
- let ty_to = match ty. kind ( ) {
2197
- ty:: RawPtr ( ty:: TypeAndMut {
2198
- ty : ty_to,
2199
- mutbl : hir:: Mutability :: Not ,
2200
- } ) => ty_to,
2201
- _ => {
2202
- span_mirbug ! (
2203
- self ,
2204
- rvalue,
2205
- "unexpected target type for cast {:?}" ,
2206
- ty,
2207
- ) ;
2208
- return ;
2209
- }
2192
+ let ty:: RawPtr ( ty:: TypeAndMut {
2193
+ ty : ty_to,
2194
+ mutbl : hir:: Mutability :: Not ,
2195
+ } ) = ty. kind ( ) else {
2196
+ span_mirbug ! (
2197
+ self ,
2198
+ rvalue,
2199
+ "unexpected target type for cast {:?}" ,
2200
+ ty,
2201
+ ) ;
2202
+ return ;
2210
2203
} ;
2211
2204
if let Err ( terr) = self . sub_types (
2212
2205
* ty_from,
@@ -2238,17 +2231,14 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
2238
2231
_ => None ,
2239
2232
} ;
2240
2233
2241
- let ( ty_elem, ty_mut) = match opt_ty_elem_mut {
2242
- Some ( ty_elem_mut) => ty_elem_mut,
2243
- None => {
2244
- span_mirbug ! (
2245
- self ,
2246
- rvalue,
2247
- "ArrayToPointer cast from unexpected type {:?}" ,
2248
- ty_from,
2249
- ) ;
2250
- return ;
2251
- }
2234
+ let Some ( ( ty_elem, ty_mut) ) = opt_ty_elem_mut else {
2235
+ span_mirbug ! (
2236
+ self ,
2237
+ rvalue,
2238
+ "ArrayToPointer cast from unexpected type {:?}" ,
2239
+ ty_from,
2240
+ ) ;
2241
+ return ;
2252
2242
} ;
2253
2243
2254
2244
let ( ty_to, ty_to_mut) = match ty. kind ( ) {
0 commit comments