@@ -136,7 +136,7 @@ pub(super) fn check<'tcx>(
136
136
fun_span : Option < Span > ,
137
137
) -> bool {
138
138
// (path, fn_has_argument, methods, suffix)
139
- const KNOW_TYPES : [ ( Symbol , bool , & [ Symbol ] , & str ) ; 4 ] = [
139
+ const KNOW_TYPES : [ ( Symbol , bool , & [ Symbol ] , & str ) ; 5 ] = [
140
140
( sym:: BTreeEntry , false , & [ sym:: or_insert] , "with" ) ,
141
141
( sym:: HashMapEntry , false , & [ sym:: or_insert] , "with" ) ,
142
142
(
@@ -145,16 +145,17 @@ pub(super) fn check<'tcx>(
145
145
& [ sym:: map_or, sym:: ok_or, sym:: or, sym:: unwrap_or] ,
146
146
"else" ,
147
147
) ,
148
- ( sym:: Result , true , & [ sym:: or, sym:: unwrap_or] , "else" ) ,
148
+ ( sym:: Option , false , & [ sym:: get_or_insert] , "with" ) ,
149
+ ( sym:: Result , true , & [ sym:: map_or, sym:: or, sym:: unwrap_or] , "else" ) ,
149
150
] ;
150
151
151
152
if KNOW_TYPES . iter ( ) . any ( |k| k. 2 . contains ( & name) )
152
153
&& switch_to_lazy_eval ( cx, arg)
153
154
&& !contains_return ( arg)
154
155
&& let self_ty = cx. typeck_results ( ) . expr_ty ( self_expr)
155
- && let Some ( & ( _, fn_has_arguments, poss , suffix) ) =
156
- KNOW_TYPES . iter ( ) . find ( | & & i| is_type_diagnostic_item ( cx , self_ty , i . 0 ) )
157
- && poss . contains ( & name)
156
+ && let Some ( & ( _, fn_has_arguments, _ , suffix) ) = KNOW_TYPES
157
+ . iter ( )
158
+ . find ( | & & i| is_type_diagnostic_item ( cx , self_ty , i . 0 ) && i . 2 . contains ( & name) )
158
159
{
159
160
let ctxt = span. ctxt ( ) ;
160
161
let mut app = Applicability :: HasPlaceholders ;
0 commit comments