← Back to context

Comment by xigoi

6 hours ago

It needs to be this way so that UFCS works properly. Imagine if instead of "a,b".split(','), you had to write "a,b".(strutils.split)(',').

ok I do not understand.

What is preventing this import std/errorcodes

from allowing me to use: raise errorcodes.RangeError instead of what Nim has?

or even why not even "import std/ErrorCodes" and having the plural in ErrorCodes.RangeError I wouldn't mind

  • Nothing, and it fact this works. To move to an example which actually compiles:

        import math
        
        echo fcNormal
        echo FloatClass.fcNormal
        echo math.fcNormal
        echo math.FloatClass.fcNormal
    

    All of these ways of identifying the `fcNormal` enum value works, with varying levels of specificity.

    If instead you do `from math import nil` only the latter two work.