Компилятор выдает предупреждение при попытке получить ссылку на компонуемую функцию - PullRequest
2 голосов
/ 17 января 2020

У меня есть проблема, из-за которой возврат ссылки на компонуемую функцию интерпретируется как вызов компонуемой функции, в результате чего компилятор выдает следующее предупреждающее сообщение: Функции, которые вызывают функции @Composable, должны быть помечены аннотацией @Composable . Я понимаю, что компонуемые функции могут быть вызваны только внутри функций с компонуемым контекстом, однако в этом случае я просто пытаюсь получить ссылку на функцию, а не вызывать ее. В приведенном ниже фрагменте кода content.value выдает предупреждающее сообщение. Есть идеи как это исправить.

private typealias ComposableUnitLambda = @Composable() () -> Unit
private val EmptyRoute: ComposableUnitLambda = {}

@Model
class ContentHolder(var value: ComposableUnitLambda = EmptyRoute)

@Navigator.Name("compose")
class ComposableNavigator : Navigator<Destination>() { 
     val current: ComposableUnitLambda
           get() = content.value
 }
...