diff options
-rw-r--r-- | compiler/sem.nim | 2 | ||||
-rw-r--r-- | tests/sets/t2669.nim | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/compiler/sem.nim b/compiler/sem.nim index 0adcccfbe..b242e4db6 100644 --- a/compiler/sem.nim +++ b/compiler/sem.nim @@ -76,7 +76,7 @@ template semIdeForTemplateOrGeneric(c: PContext; n: PNode; proc fitNodePostMatch(c: PContext, formal: PType, arg: PNode): PNode = result = arg let x = result.skipConv - if x.kind in {nkPar, nkTupleConstr} and formal.kind != tyExpr: + if x.kind in {nkPar, nkTupleConstr, nkCurly} and formal.kind != tyExpr: changeType(c, x, formal, check=true) else: result = skipHiddenSubConv(result) diff --git a/tests/sets/t2669.nim b/tests/sets/t2669.nim new file mode 100644 index 000000000..6b8eb0f54 --- /dev/null +++ b/tests/sets/t2669.nim @@ -0,0 +1,6 @@ +discard """ +line: 6 +errormsg: "cannot convert 6 to range 1..5(int8)" +""" + +var c: set[range[1i8..5i8]] = {1i8, 2i8, 6i8} |