type
      T = Rootobj
      
      T2 = object of T
        i: int
    
    var t: T2
    
    proc a(o: T) =
      echo "proc a"
    
    #template a(o: expr) =
    #  echo "template a"
    
    a(t)
    

Output is
    
    
    proc a

When I uncomment the template, I get
    
    
    template a

That may be OK -- personally I would like proc invocation better. Months ago 
that behaviour gave me some trouble, the template was a plain cast, so I got 
that cast instead of the desired proc call. 

Reply via email to