summary refs log tree commit diff stats
path: root/compiler/semexprs.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/semexprs.nim')
-rw-r--r--compiler/semexprs.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim
index 53c0790fe..3b40425cf 100644
--- a/compiler/semexprs.nim
+++ b/compiler/semexprs.nim
@@ -971,7 +971,8 @@ proc semOverloadedCallAnalyseEffects(c: PContext, n: PNode, nOrig: PNode,
 
   if result != nil:
     if result[0].kind != nkSym:
-      internalError(c.config, "semOverloadedCallAnalyseEffects")
+      if not (efDetermineType in flags and c.inGenericContext > 0):
+        internalError(c.config, "semOverloadedCallAnalyseEffects")
       return
     let callee = result[0].sym
     case callee.kind
@@ -1007,6 +1008,8 @@ proc setGenericParams(c: PContext, n: PNode) =
 proc afterCallActions(c: PContext; n, orig: PNode, flags: TExprFlags; expectedType: PType = nil): PNode =
   if efNoSemCheck notin flags and n.typ != nil and n.typ.kind == tyError:
     return errorNode(c, n)
+  if n.typ != nil and n.typ.kind == tyFromExpr and c.inGenericContext > 0:
+    return n
 
   result = n
 
href='/akspecs/aerc/blame/go.mod?h=0.4.0&id=19646823c9caf483122b68f633119e1977cc7618'>^
43dba93 ^
66d916a ^
840b5bd ^
b0eaf51 ^
0c2ede5 ^
6473848 ^
0c2ede5 ^
8d20e92 ^
d394fd1 ^
0c2ede5 ^

475b697 ^
0c2ede5 ^
56b84d3 ^
b0bf09b ^
513e8aa ^
cef784b ^
16c3f0a ^
0c2ede5 ^
072bc26 ^
8d20e92 ^
b0eaf51 ^
0c2ede5 ^
072bc26 ^
3836d24 ^
56b84d3 ^
ab79bc3 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38