fixes #798
This commit is contained in:
parent
5d6053173a
commit
7c065bfadf
12 changed files with 10 additions and 2 deletions
29
tests/trmacros/tmatrix.nim
Normal file
29
tests/trmacros/tmatrix.nim
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
discard """
|
||||
output: "21"
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
type
|
||||
TMat = object
|
||||
dummy: int
|
||||
|
||||
proc `*`(a, b: TMat): TMat = nil
|
||||
proc `+`(a, b: TMat): TMat = nil
|
||||
proc `-`(a, b: TMat): TMat = nil
|
||||
proc `$`(a: TMat): string = result = $a.dummy
|
||||
proc mat21(): TMat =
|
||||
result.dummy = 21
|
||||
|
||||
macro optOps{ (`+`|`-`|`*`) ** a }(a: TMat): expr =
|
||||
echo treeRepr(a)
|
||||
result = newCall(bindSym"mat21")
|
||||
|
||||
#macro optPlus{ `+` * a }(a: varargs[TMat]): expr =
|
||||
# result = newIntLitNode(21)
|
||||
|
||||
var x, y, z: TMat
|
||||
|
||||
echo x + y * z - x
|
||||
|
||||
#echo x + y + z
|
||||
Loading…
Add table
Add a link
Reference in a new issue