From 672c24e4b8fcfc07cdba6a36a2fc0445cdc3d9e9 Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Sat, 13 May 2017 20:48:33 +0300 Subject: [PATCH] fix affecting templates with explicit generic params --- compiler/semexprs.nim | 31 +++++----------------------- compiler/vm.nim | 5 +++-- doc/manual/type_rel.txt | 4 ++-- tests/template/tgenerictemplates.nim | 13 ++++++++++++ 4 files changed, 23 insertions(+), 30 deletions(-) create mode 100644 tests/template/tgenerictemplates.nim diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 4baef53851..a435917841 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -683,27 +683,9 @@ proc bracketedMacro(n: PNode): PSym = if result.kind notin {skMacro, skTemplate}: result = nil -proc semBracketedMacro(c: PContext; outer, inner: PNode; s: PSym; - flags: TExprFlags): PNode = - # We received untransformed bracket expression coming from macroOrTmpl[]. - # Transform it to macro or template call, where first come normal - # arguments, next come generic template arguments. - var sons = newSeq[PNode]() - sons.add inner.sons[0] - # Normal arguments: - for i in 1..