constructor(bar: List<Int>) : this(bar.map(Int::toString))
}
```
Тут ошибка, что мол JVM не различает эти конструкторы. Думал JvmName должен это исправить, но что-то никакой разницы. Знаю, что можно сделать финт через invoke в companion object, но все-таки почему JvmName не помогает?
Потому что JvmName применен к геттеру, который к конструктору не имеет отношения
JvmName помогает, когда мы можем поменять имя функции. У конструктора мы его поменять не можем, а смена имени параметров тут никак не поможет, с точки зрения конструкторов у нас что первое Foo(List), что второе Foo(List) после стирания типов.
Обсуждают сегодня