This commit is contained in:
Andreas Rumpf 2016-10-18 18:22:41 +02:00
commit 34b826a64d

View file

@ -230,6 +230,8 @@ proc isAssignable*(owner: PSym, n: PNode; isUnsafeAddr=false): TAssignableResult
# builtin slice keeps lvalue-ness: # builtin slice keeps lvalue-ness:
if getMagic(n) in {mArrGet, mSlice}: if getMagic(n) in {mArrGet, mSlice}:
result = isAssignable(owner, n.sons[1], isUnsafeAddr) result = isAssignable(owner, n.sons[1], isUnsafeAddr)
elif n.typ != nil and n.typ.kind == tyVar:
result = arLValue
of nkStmtList, nkStmtListExpr: of nkStmtList, nkStmtListExpr:
if n.typ != nil: if n.typ != nil:
result = isAssignable(owner, n.lastSon, isUnsafeAddr) result = isAssignable(owner, n.lastSon, isUnsafeAddr)