summary refs log tree commit diff stats
path: root/compiler/semcall.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/semcall.nim')
-rw-r--r--compiler/semcall.nim6
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim
index 2dd115b1b..1089ab7db 100644
--- a/compiler/semcall.nim
+++ b/compiler/semcall.nim
@@ -155,7 +155,7 @@ proc presentFailedCandidates(c: PContext, n: PNode, errors: CandidateErrors):
                       renderTree(n[err.unmatchedVarParam]) & "' is immutable\n")
     for diag in err.diagnostics:
       add(candidates, diag & "\n")
-  
+
   result = (prefer, candidates)
 
 proc notFoundError*(c: PContext, n: PNode, errors: CandidateErrors) =
@@ -250,13 +250,11 @@ proc resolveOverloads(c: PContext, n, orig: PNode,
       if result.state in {csEmpty, csNoMatch}:
         tryOp "."
 
-    elif nfDotSetter in n.flags:
-      internalAssert f.kind == nkIdent and n.sonsLen == 3
+    elif nfDotSetter in n.flags and f.kind == nkIdent and n.len == 3:
       let calleeName = newStrNode(nkStrLit,
         f.ident.s[0..f.ident.s.len-2]).withInfo(n.info)
       let callOp = newIdentNode(getIdent".=", n.info)
       n.sons[0..1] = [callOp, n[1], calleeName]
-      excl(n.flags, nfDotSetter)
       orig.sons[0..1] = [callOp, orig[1], calleeName]
       pickBest(callOp)