From 43e5e3ac22e359cf0c328e1c36627187c6c80efd Mon Sep 17 00:00:00 2001 From: Araq Date: Sat, 31 Jan 2015 13:46:21 +0100 Subject: [PATCH] fixes #2022 --- compiler/ccgexprs.nim | 6 ++- tests/generics/tgeneric_closure.nim | 37 ++++++++++++++++++ tests/generics/tunique_type.nim | 60 +++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 tests/generics/tgeneric_closure.nim create mode 100644 tests/generics/tunique_type.nim diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index 4372ca5244..93bb5dbf56 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -215,6 +215,7 @@ proc asgnComplexity(n: PNode): int = else: discard proc optAsgnLoc(a: TLoc, t: PType, field: PRope): TLoc = + assert field != nil result.k = locField result.s = a.s result.t = t @@ -229,7 +230,7 @@ proc genOptAsgnTuple(p: BProc, dest, src: TLoc, flags: TAssignmentFlags) = flags - {needToCopy} else: flags - let t = skipTypes(dest.t, abstractInst) + let t = skipTypes(dest.t, abstractInst).getUniqueType() for i in 0 .. e == "a") +let c = "another-string".map((e: char) => e == 'o') + +echo(@[a[0], a[1]]) # @[97, 45] +echo(@[b[0], b[1]]) # @[true, false] +echo(@[c[0], c[1]]) # @[false, false]