Czy istnieje sposób kontrolowania, która niejawna konwersja będzie domyślna?

Przypuśćmy, że mam to:

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

teraz, jeśli dodam to ukryte:

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

Dostanę błąd kompilacji, ponieważ stringWrapper również dodaje to niejawne. Czy istnieje sposób powiedzenia kompilatorowi „zignoruj ​​inne implicity, użyj tego”, aby nie musiałem tworzyć instancjiString2 obiekt i pracuj nad tym?

Przyznaję, że przykładowy kod może nie być najbardziej odpowiedni (dla tego pytania), ale myślę, że tak będzie.

questionAnswers(1)

yourAnswerToTheQuestion