summary refs log blame commit diff stats
path: root/tests/bind/tbind1.nim
blob: 9b13a7d11c739f5c11c02aedeac0017830b0d6ca (plain) (tree)
1
2
3
4
5
6
7
8
9



                    



                                             
                                  
         
          


                                            

                                                                           


                                

 
discard """
  file: "tbind1.nim"
  output: "3"
"""
# Test the new ``bind`` keyword for templates

proc p1(x: int8, y: int): int = return x + y

template tempBind(x, y): untyped =
  bind p1
  p1(x, y)

proc p1(x: int, y: int8): int = return x - y

# This is tricky: the call to ``p1(1'i8, 2'i8)`` should not fail in line 6,
# because it is not ambiguous there. But it is ambiguous after line 8.

echo tempBind(1'i8, 2'i8) #OUT 3