[FE] Remove BuilderInference annotation from tests

This commit is contained in:
Victor Petukhov
2022-06-18 18:53:09 +02:00
parent dbe7f3ab0d
commit fa7809cd80
221 changed files with 366 additions and 348 deletions
@@ -20,7 +20,7 @@ interface AsyncIterator<out T> {
}
@OptIn(ExperimentalTypeInference::class)
fun <T> asyncGenerate(@BuilderInference block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
fun <T> asyncGenerate(block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
override fun iterator(): AsyncIterator<T> {
val iterator = AsyncGeneratorIterator<T>()
iterator.nextStep = block.createCoroutine(receiver = iterator, completion = iterator)
@@ -20,7 +20,7 @@ interface AsyncIterator<out T> {
}
@OptIn(ExperimentalTypeInference::class)
fun <T> asyncGenerate(@BuilderInference block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
fun <T> asyncGenerate(block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
override fun iterator(): AsyncIterator<T> {
val iterator = AsyncGeneratorIterator<T>()
iterator.nextStep = block.createCoroutine(receiver = iterator, completion = iterator)
@@ -20,7 +20,7 @@ interface AsyncIterator<out T> {
}
@OptIn(ExperimentalTypeInference::class)
fun <T> asyncGenerate(@BuilderInference block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
fun <T> asyncGenerate(block: suspend AsyncGenerator<T>.() -> Unit): AsyncSequence<T> = object : AsyncSequence<T> {
override fun iterator(): AsyncIterator<T> {
val iterator = AsyncGeneratorIterator<T>()
iterator.nextStep = block.createCoroutine(receiver = iterator, completion = iterator)
@@ -7,7 +7,7 @@ interface Foo<T>
class FooImpl<T> : Foo<T>
@OptIn(ExperimentalTypeInference::class)
fun <T> myflow(@BuilderInference block: Foo<T>.() -> Unit): Foo<T> {
fun <T> myflow(block: Foo<T>.() -> Unit): Foo<T> {
val impl = FooImpl<T>()
impl.block()
return impl
@@ -61,10 +61,10 @@ suspend inline fun hang(onCancellation: () -> Unit) {}
fun <T> Flow<T>.flatMap(mapper: suspend (T) -> Flow<T>): Flow<T> = TODO()
@OptIn(ExperimentalTypeInference::class)
fun <T> flow(@BuilderInference block: suspend FlowCollector<T>.() -> Unit): Flow<T> = TODO()
fun <T> flow(block: suspend FlowCollector<T>.() -> Unit): Flow<T> = TODO()
@OptIn(ExperimentalTypeInference::class)
inline fun <T, R> Flow<T>.flatMapLatest(@BuilderInference crossinline transform: suspend (value: T) -> Flow<R>): Flow<R> = TODO()
inline fun <T, R> Flow<T>.flatMapLatest(crossinline transform: suspend (value: T) -> Flow<R>): Flow<R> = TODO()
interface Flow<out T>
@@ -23,7 +23,7 @@ suspend fun <T> Flow<T>.toList(): List<T> {
return destination
}
fun <T> flow(@BuilderInference block: suspend FlowCollector<T>.() -> Unit): Flow<T> = SafeFlow(block)
fun <T> flow(block: suspend FlowCollector<T>.() -> Unit): Flow<T> = SafeFlow(block)
private class SafeFlow<T>(private val block: suspend FlowCollector<T>.() -> Unit) : Flow<T> {
override suspend fun collect(collector: FlowCollector<T>) {
@@ -31,7 +31,7 @@ private class SafeFlow<T>(private val block: suspend FlowCollector<T>.() -> Unit
}
}
fun <T> channelFlow(@BuilderInference block: suspend SendChannel<T>.() -> Unit): Flow<T> =
fun <T> channelFlow(block: suspend SendChannel<T>.() -> Unit): Flow<T> =
ChannelFlowBuilder(block)
private open class ChannelFlowBuilder<T>(
+1 -1
View File
@@ -15,7 +15,7 @@ fun myLaunch(
) {}
@OptIn(kotlin.experimental.ExperimentalTypeInference::class)
public fun <E> myProduce(@BuilderInference block: suspend MyProducerScope<E>.() -> Unit) {}
public fun <E> myProduce(block: suspend MyProducerScope<E>.() -> Unit) {}
fun <T> MyReceiveChannel<T>.debounce(period: Long) {
myProduce<Any> {
+1 -1
View File
@@ -10,7 +10,7 @@ interface Builder<T : Any> {
fun filter(filter: (T) -> Boolean)
}
fun <T : Any> build(@BuilderInference block: Builder<T>.() -> Unit): T {
fun <T : Any> build(block: Builder<T>.() -> Unit): T {
val o = object : Builder<T> {
override fun filter(filter: (T) -> Boolean) {