Есть ли способ контролировать, какое неявное преобразование будет использоваться по умолчанию?

Предположим, у меня есть это:

class String2(val x:String) {
    def *(times:Int) : String = {
        val builder = new StringBuilder()
        for( i <- 0 until times) {
            builder.append(x)
        }
        builder.toString()
    }
}

Теперь, если я добавлю это неявное:

implicit def gimmeString2(y:String) = new String2(y)

Я получу ошибку компиляции, потому что stringWrapper также добавляет это неявное. Есть ли способ сказать компилятору "игнорировать другие последствия, используйте это", так что мне не нужно создавать экземплярString2 возражать и работать над этим?

Я допускаю, что пример кода может быть не самым подходящим (для этого вопроса), но я думаю, что это подойдет.

Ответы на вопрос(1)

Ваш ответ на вопрос