improve the error message for mutability problems that arise from implicit converter calls

This commit is contained in:
Araq 2018-08-27 17:05:20 +02:00
commit a60cf221e8

View file

@ -138,7 +138,9 @@ proc effectProblem(f, a: PType; result: var string) =
proc renderNotLValue(n: PNode): string = proc renderNotLValue(n: PNode): string =
result = $n result = $n
if n.kind in {nkHiddenStdConv, nkHiddenSubConv, nkHiddenCallConv} and n.len == 2: if n.kind == nkHiddenCallConv and n.len > 1:
result = $n[0] & "(" & result & ")"
elif n.kind in {nkHiddenStdConv, nkHiddenSubConv} and n.len == 2:
result = typeToString(n.typ.skipTypes(abstractVar)) & "(" & result & ")" result = typeToString(n.typ.skipTypes(abstractVar)) & "(" & result & ")"
proc presentFailedCandidates(c: PContext, n: PNode, errors: CandidateErrors): proc presentFailedCandidates(c: PContext, n: PNode, errors: CandidateErrors):