Assigning template to var/let/const gives a proper error (#12851)

* Assigning template to var/let/const gives a proper error

* Fix style
This commit is contained in:
Neelesh Chandola 2019-12-09 13:49:40 +05:30 • committed by cooldome
commit 7ebb2baa6c
4 changed files with 24 additions and 7 deletions

View file

@ -1,5 +1,5 @@
discard """
errormsg: "cannot assign macro symbol to variable here"
errormsg: "cannot assign macro 'm' to 'x1'. Did you mean to call the macro with '()'?"
line: 9
"""

View file

@ -1,5 +1,5 @@
discard """
errormsg: "cannot assign macro symbol to constant here"
errormsg: "cannot assign macro 'm' to 'x2'. Did you mean to call the macro with '()'?"
line: 9
"""

13
tests/errmsgs/t12844.nim Normal file
View file

@ -0,0 +1,13 @@
discard """
cmd: "nim check $file"
errormsg: "cannot assign template 'z' to 'y'. Did you mean to call the template with '()'?"
nimout: '''
t12844.nim(11, 11) Error: cannot assign template 'z' to 'x'. Did you mean to call the template with '()'?
t12844.nim(12, 9) Error: cannot assign template 'z' to 'y'. Did you mean to call the template with '()'?'''
"""
template z*(args: varargs[string, `$`]) =
discard
const x = z
var y = z