I\'m writing a DSL where the \"+\" operator is strictly numeric, like some other popular languages. It\'s close, but the String \"+\" operator is messing up my implicit conv
According to section 12.3.1 of the Scala spec, the +
method for String
has special treatment by the compiler. I don't know for sure, but I think this means you can't "unimport" it, which is a shame because it really breaks the type system (much like the related toString
method).
Could you use a different name for the operator in your DSL, eg, ++
or &
?
You can't unimport it, but you could use +: and define it on the int class. What would be best is if you write it like this: "2".toInt + 3.
The + method for a string is a method on of the String class (and therefore on each string object), and as such it cannot be unimported.