Сложить список для сопряжения с назначением деструктуризации в котлин

Я пытаюсь получить несколько результатов от операции сгибания в списке символов и впоследствии использовать назначение деструктурирования для обоих значений для своих собственных переменных. Но это, похоже, приводит к исключению компилятором kotlin:

java.lang.UnsupportedOperationException: Don't know how to generate outer expression for class <closure-Test$1> 

Как ни странно (для меня) без разрушения, это работает по назначению. Вот пример:

 val fstSec = "fst" val (fst, snd) = "this is a test for folding to pair" .toCharArray() .fold(Pair(0, 0), { sumPair, char -> when (fstSec) { "fst" -> Pair(sumPair.first + char.toInt()*2, sumPair.second + char.toInt()) "snd" -> Pair(sumPair.first + char.toInt(), sumPair.second + char.toInt()*2) else -> throw RuntimeException("exception") } }) println("( $fst , $snd )") 

Это приводит к исключению.

 val fstSec = "fst" val pair = "this is a test for folding to pair" .toCharArray() .fold(Pair(0, 0), { sumPair, char -> when (fstSec) { "fst" -> Pair(sumPair.first + char.toInt()*2, sumPair.second + char.toInt()) "snd" -> Pair(sumPair.first + char.toInt(), sumPair.second + char.toInt()*2) else -> throw RuntimeException("exception") } }) println("( ${pair.first} , ${pair.second} )") 

Это работает так, как ожидалось, и единственное, что я удалил, это разрушение. Как ни странно, если я удаляю внутреннее, когда (и заменяю его только конструктором пары ), код работает одновременно.

Заранее спасибо.

Это ошибка в компиляции Kotlin Script.

Спасибо @razr за сообщение об этом: KT-22029

Intereting Posts
Невозможно использовать локальный обработчик аннотаций в проекте Android kotlin Vert.x. Как создать реальное приложение многопользовательского JVM? Котлин: Двойной Колон против Лямбды в подобном классе расширение функции для класса в другом классе Vaadin 8 NativeSelect изменить представление данных списка Как настроить динамические опорные точки для поворота анимации Как реализовать ленивый адаптер recyclerView для загрузки, например realm recyclerView, используя kotlin Класс Kotlin работает как тесты junit, даже если он находится в пакете androidTest – для класса Java он работает нормально Как преобразовать Char в Int? Файл Kotlin в собственном проекте iOS с Kotlin / Native Как скопировать двумерный массив в Котлин? Кинжал при создании проекта Весенняя загрузка с одностраничным приложением на AWS Elastic Beanstalk требует дополнительной перенаправления Как сравнить классы и интерфейсы? Как сопроводители реализуются в JVM-языках без поддержки JVM?