I mean, in general you can just call the generic explicitly with 
`update[Enemy](self)` like so:
    
    
    type
       Enemy = ref object
       EntGroup[T] = ref object
          items: seq[T]
    
    proc update[T](self: EntGroup[T]) =
       echo "general update loop"
    
    proc update(self: EntGroup[Enemy]) =
       ## << What to put here to call the `update[T]()` code? ##
       update[Enemy](self)
       echo "enemy code"
    
    var eg = EntGroup[Enemy]()
    eg.update()
    
    
    Run

Outputs as you expect. Generally though what you're currently implementing 
looks to me more like you're thinking in patterns of dynamic dispatch with 
method (Namely that there's a "base-entity" that you can perform a "base-task" 
on that should always be run).

If that's how you think about your code then imo it's best you also implement 
it in that fashion using methods etc. as blackmius suggested.

Reply via email to