Files
Nim/tests/macros/t23032_1.nim
Ryan McConnell 94f7e9683f Param match relax (#23033)
#23032

---------

Co-authored-by: Nikolay Nikolov <nickysn@gmail.com>
Co-authored-by: Pylgos <43234674+Pylgos@users.noreply.github.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
Co-authored-by: Jason Beetham <beefers331@gmail.com>
2023-12-15 07:48:34 +01:00

20 lines
378 B
Nim

import std/macros
type A[T, H] = object
proc `%*`(a: A): bool = true
proc `%*`[T](a: A[int, T]): bool = false
macro collapse(s: untyped) =
result = newStmtList()
result.add quote do:
doAssert(`s`(A[float, int]()) == true)
macro startHere(n: untyped): untyped =
result = newStmtList()
let s = n[0]
result.add quote do:
`s`.collapse()
startHere(`a` %* `b`)