diff options
Diffstat (limited to 'compiler/semcall.nim')
-rw-r--r-- | compiler/semcall.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim index 8445b25e7..c0317f4d6 100644 --- a/compiler/semcall.nim +++ b/compiler/semcall.nim @@ -627,7 +627,10 @@ proc semOverloadedCall(c: PContext, n, nOrig: PNode, candidates) result = semResolvedCall(c, r, n, flags) else: - if efExplain notin flags: + if efDetermineType in flags and c.inGenericContext > 0 and c.matchedConcept == nil: + result = n + result.typ = makeTypeFromExpr(c, result.copyTree) + elif efExplain notin flags: # repeat the overload resolution, # this time enabling all the diagnostic output (this should fail again) result = semOverloadedCall(c, n, nOrig, filter, flags + {efExplain}) |