@nonsense отнаследоваться, не?
@mo ну отнаследуйся от str 😄
В Kotlin я так могу сделать. Удивился, что в петоне нельзя
@nonsense @mo
Паста отсюда https://teletype.in/@skillbranch/HyTEcy2pS
Если в классе есть и функция-член, и функция-расширение с тем же возвращаемым типом и тем же именем и применяется с такими же аргументами, то функция-член имеет более высокий приоритет. К примеру:
class C {
fun foo() { println("member") }
}
fun C.foo() { println("extension") }
Если мы вызовем c.foo() у любого объекта c с типом C, на экран выведется "member", а не "extension".
@nonsense @mo да и как бы он на этапе компиляции понял, что тебе надо экстеншен по тексту, у которого нет отличий с вызовом метода? С чего вдруг это ошибка должна быть, неясно. Разве что сравнивать сигнатуры в либах разных версий. В общем я в компоненте "по историческим причинам на котлин" экстеншены использовать запретил от греха, как и кучу другого хлама.
@3draven @mo об этом ты на стадии компиляции узнаешь