@@ -735,20 +735,20 @@ end
735
735
736
736
function compileable_specialization (et:: Union{EdgeTracker, Nothing} , match:: MethodMatch , effects:: Effects )
737
737
mi = specialize_method (match; compilesig= true )
738
- mi != = nothing && et != = nothing && push! (et, mi:: MethodInstance )
739
738
mi === nothing && return nothing
739
+ et != = nothing && push! (et, mi)
740
740
return InvokeCase (mi, effects)
741
741
end
742
742
743
743
function compileable_specialization (et:: Union{EdgeTracker, Nothing} , linfo:: MethodInstance , effects:: Effects )
744
744
mi = specialize_method (linfo. def:: Method , linfo. specTypes, linfo. sparam_vals; compilesig= true )
745
- mi != = nothing && et != = nothing && push! (et, mi:: MethodInstance )
746
745
mi === nothing && return nothing
746
+ et != = nothing && push! (et, mi)
747
747
return InvokeCase (mi, effects)
748
748
end
749
749
750
- function compileable_specialization (et:: Union{EdgeTracker, Nothing} , (; linfo) :: InferenceResult , effects:: Effects )
751
- return compileable_specialization (et, linfo, effects)
750
+ function compileable_specialization (et:: Union{EdgeTracker, Nothing} , result :: InferenceResult , effects:: Effects )
751
+ return compileable_specialization (et, result . linfo, effects)
752
752
end
753
753
754
754
function resolve_todo (todo:: InliningTodo , state:: InliningState , flag:: UInt8 )
@@ -1257,7 +1257,11 @@ function handle_const_call!(
1257
1257
result = results[j]
1258
1258
if isa (result, ConstResult)
1259
1259
case = const_result_item (result, state)
1260
- push! (cases, InliningCase (result. mi. specTypes, case))
1260
+ if case === nothing
1261
+ fully_covered = false
1262
+ else
1263
+ push! (cases, InliningCase (result. mi. specTypes, case))
1264
+ end
1261
1265
elseif isa (result, InferenceResult)
1262
1266
fully_covered &= handle_inf_result! (result, argtypes, flag, state, cases)
1263
1267
else
0 commit comments