<https://nim-lang.org/docs/manual.html#overloading-resolution> is how nim finds 
the correct proc.

an exact match is preferred, so your local version of min is never called in 
any of your examples. instead, in order:

`min(ar1)` `system.min[T](x:openArray[T]):T`

`min(se1)` `system.min[T](x:openArray[T]):T`

`min(1.1,3.3)` `system.min(x,y: float):float`

`min @[10,30]` `system.min[T](x:openArray[T]):T`

`min(10,30)` `system.min(x,y: int):int`

otherwise a local definition is preferred over one included from another 
module, iirc, so `min('a','c')` uses your local min

Reply via email to