@@ -273,9 +273,10 @@ pub(crate) fn add_missing_match_arms(acc: &mut Assists, ctx: &AssistContext<'_>)
273
273
syntax:: SyntaxElement :: Token ( it) => {
274
274
// Don't have a way to make tokens mut, so instead make the parent mut
275
275
// and find the token again
276
- let parent = edit. make_syntax_mut ( it. parent ( ) . unwrap ( ) ) ;
276
+ let parent =
277
+ edit. make_syntax_mut ( it. parent ( ) . expect ( "Token must have a parent." ) ) ;
277
278
let mut_token =
278
- parent. covering_element ( it. text_range ( ) ) . into_token ( ) . unwrap ( ) ;
279
+ parent. covering_element ( it. text_range ( ) ) . into_token ( ) . expect ( "Covering element cannot be found. Range may be beyond the current node's range" ) ;
279
280
280
281
syntax:: SyntaxElement :: from ( mut_token)
281
282
}
@@ -446,21 +447,23 @@ fn build_pat(
446
447
mod_path_to_ast ( & module. find_use_path ( db, ModuleDef :: from ( var) , prefer_no_std) ?) ;
447
448
448
449
// FIXME: use HIR for this; it doesn't currently expose struct vs. tuple vs. unit variants though
449
- let pat : ast :: Pat = match var. source ( db) ?. value . kind ( ) {
450
+ Some ( match var. source ( db) ?. value . kind ( ) {
450
451
ast:: StructKind :: Tuple ( field_list) => {
451
452
let pats =
452
453
iter:: repeat ( make:: wildcard_pat ( ) . into ( ) ) . take ( field_list. fields ( ) . count ( ) ) ;
453
454
make:: tuple_struct_pat ( path, pats) . into ( )
454
455
}
455
456
ast:: StructKind :: Record ( field_list) => {
456
- let pats = field_list
457
- . fields ( )
458
- . map ( |f| make:: ext:: simple_ident_pat ( f. name ( ) . unwrap ( ) ) . into ( ) ) ;
457
+ let pats = field_list. fields ( ) . map ( |f| {
458
+ make:: ext:: simple_ident_pat (
459
+ f. name ( ) . expect ( "Record field must have a name" ) ,
460
+ )
461
+ . into ( )
462
+ } ) ;
459
463
make:: record_pat ( path, pats) . into ( )
460
464
}
461
465
ast:: StructKind :: Unit => make:: path_pat ( path) ,
462
- } ;
463
- Some ( pat)
466
+ } )
464
467
}
465
468
ExtendedVariant :: True => Some ( ast:: Pat :: from ( make:: literal_pat ( "true" ) ) ) ,
466
469
ExtendedVariant :: False => Some ( ast:: Pat :: from ( make:: literal_pat ( "false" ) ) ) ,
0 commit comments