Files
kotlin-fork/compiler/testData/diagnostics/testsWithStdLib/inline/synchronizedOnSuspend.kt
T
Ilmir Usmanov 92fac304e7 Forbid @Synchronized annotation on suspend functions
and lambdas. With warning for now.
 #KT-27333
2021-08-30 13:47:34 +02:00

25 lines
920 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
<!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!>
suspend fun foo(f: () -> Unit): Unit = f()
fun builder(c: suspend () -> Unit) {}
val a: suspend () -> Unit
get() = <!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {}
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {}
val c = builder (<!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {})
val d = suspend <!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {}
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
fun test() {
<!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!>
suspend fun foo(f: () -> Unit): Unit = f()
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {}
val c = builder (<!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {})
val d = suspend <!SYNCHRONIZED_ON_SUSPEND!>@Synchronized<!> {}
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
}