// @Module:Main import androidx.compose.runtime.* fun main() { var set = mutableSetOf() callComposable { FooTakesTypedComposableLambda { set.add(1) "text" } FooTakesTypedComposableLambda2(10) { set.add(2) it + 100 } FooTakesTypedExtesionComposableLambda("text", Any()) { set.add(3) } MySelect(listOf("1")) { set.add(4) } } require(setOf(1, 2, 3, 4) == set) { "Failed when running composables" } } // @Module:Lib import androidx.compose.runtime.Composable @Composable fun FooTakesTypedComposableLambda(composable: @Composable () -> T) { composable() } @Composable fun FooTakesTypedComposableLambda2(t: T, composable: @Composable (T) -> T) { composable(t) } @Composable fun FooTakesTypedExtesionComposableLambda(t: T, k: K, composable: @Composable T.(K) -> R) { t.composable(k) } @Composable fun MySelect( options: List, onChange: (T) -> Unit ) { onChange(options.first()) }