diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/generics/mopensymimport2.nim | 2 | ||||
-rw-r--r-- | tests/generics/tmacroinjectedsym.nim | 2 | ||||
-rw-r--r-- | tests/template/topensym.nim | 2 | ||||
-rw-r--r-- | tests/template/topensymoverride.nim | 39 |
4 files changed, 42 insertions, 3 deletions
diff --git a/tests/generics/mopensymimport2.nim b/tests/generics/mopensymimport2.nim index 1e1cda301..c17aafd00 100644 --- a/tests/generics/mopensymimport2.nim +++ b/tests/generics/mopensymimport2.nim @@ -1,4 +1,4 @@ -{.experimental: "genericsOpenSym".} +{.experimental: "openSym".} import mopensymimport1 diff --git a/tests/generics/tmacroinjectedsym.nim b/tests/generics/tmacroinjectedsym.nim index e3bc1be1e..985e415f2 100644 --- a/tests/generics/tmacroinjectedsym.nim +++ b/tests/generics/tmacroinjectedsym.nim @@ -1,4 +1,4 @@ -{.experimental: "genericsOpenSym".} +{.experimental: "openSym".} block: # issue #22605, normal call syntax const error = "bad" diff --git a/tests/template/topensym.nim b/tests/template/topensym.nim index 9393e1971..2f930407b 100644 --- a/tests/template/topensym.nim +++ b/tests/template/topensym.nim @@ -1,4 +1,4 @@ -{.experimental: "templateOpenSym".} +{.experimental: "openSym".} block: # issue #24002 type Result[T, E] = object diff --git a/tests/template/topensymoverride.nim b/tests/template/topensymoverride.nim new file mode 100644 index 000000000..3d4bb59f1 --- /dev/null +++ b/tests/template/topensymoverride.nim @@ -0,0 +1,39 @@ +discard """ + matrix: "--skipParentCfg --filenames:legacyRelProj" +""" + +const value = "captured" +template fooOld(x: int, body: untyped): untyped = + let value {.inject.} = "injected" + body +template foo(x: int, body: untyped): untyped = + let value {.inject.} = "injected" + {.push experimental: "genericsOpenSym".} + body + {.pop.} + +proc old[T](): string = + fooOld(123): + return value +doAssert old[int]() == "captured" + +template oldTempl(): string = + block: + var res: string + fooOld(123): + res = value + res +doAssert oldTempl() == "captured" + +proc bar[T](): string = + foo(123): + return value +doAssert bar[int]() == "injected" + +template barTempl(): string = + block: + var res: string + foo(123): + res = value + res +doAssert barTempl() == "injected" |