Add test-cases for #12576 and #12523 (#15085)

* Add a test-case for #12576

* Add a test-case for #12523
This commit is contained in:
Danil Yarantsev 2020-07-27 14:01:50 +03:00 • committed by GitHub
commit 4c43915b59
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 4 deletions

View file

@ -27,6 +27,8 @@ end
9014 9014
9016 9016
9018 9018
@[1, 2]
@[1, 2, 3]
''' '''
""" """
@ -191,7 +193,7 @@ block t3499_keepstate:
break break
# bug #3499 last snippet fixed # bug #3499 last snippet fixed
# bug 705 last snippet fixed # bug #705 last snippet fixed
@ -225,7 +227,7 @@ block t2023_objiter:
block: block:
# issue #13739 # bug #13739
iterator myIter(arg: openarray[int]): int = iterator myIter(arg: openarray[int]): int =
var tmp = 0 var tmp = 0
let len = arg.len let len = arg.len
@ -240,3 +242,12 @@ block:
echo x echo x
someProc() someProc()
block:
# bug #12576
iterator ff(sq: varargs[seq[int]]): int =
for x in sq:
echo x
for x in ff(@[1, 2], @[1, 2, 3]):
echo x

View file

@ -336,7 +336,7 @@ ProcDef
static: assert bar("x") == "x" static: assert bar("x") == "x"
#------------------------------------------------------ #------------------------------------------------------
# issue #13909 # bug #13909
template dependency*(id: string, weight = 0.0) {.pragma.} template dependency*(id: string, weight = 0.0) {.pragma.}
@ -346,3 +346,24 @@ type
proc myproc(obj: string): string {.dependency("Data/" & obj, 16.1).} = proc myproc(obj: string): string {.dependency("Data/" & obj, 16.1).} =
result = obj result = obj
# bug 12523
template myCustomPragma {.pragma.}
type
RefType = ref object
field {.myCustomPragma.}: int
ObjType = object
field {.myCustomPragma.}: int
RefType2 = ref ObjType
block:
let x = RefType()
for fieldName, fieldSym in fieldPairs(x[]):
doAssert hasCustomPragma(fieldSym, myCustomPragma)
block:
let x = RefType2()
for fieldName, fieldSym in fieldPairs(x[]):
doAssert hasCustomPragma(fieldSym, myCustomPragma)