Oh, btw, I have found another area where partial-casing is restrictive:

bar.nim: 
    
    
    import typetraits
    proc bar*[X]() =
      echo "bar:" & type(X).name
    

foo.nim: 
    
    
    import bar as nil
    
    when isMainModule:
        bar.bar[int32]()
    

Leads to: 
    
    
    foo.nim(4, 10) Error: could not resolve: bar[int32]
    

If I change the proc name to `Bar*` but still call it as `bar.bar[int32]()`, 
then I get this: 
    
    
    foo.nim(4, 6) Error: expression 'bar' has no type (or is ambiguous)
    

But it works fine if I change the proc-name to `Bar*` _and_ I call it as 
`bar.Bar[int32]()`. You could call this a language bug (or a feature), but I 
say it's evidence that this whole partial-casing idea was not considered 
clearly.

Reply via email to