FE: Make synchronized suspend functions and lambdas error in 1.8
#KT-27333 Fixed
This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
<!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!>
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
val a: suspend () -> Unit
|
||||
get() = <!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {}
|
||||
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {}
|
||||
val c = builder (<!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {})
|
||||
val d = suspend <!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
|
||||
fun test() {
|
||||
<!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!>
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {}
|
||||
val c = builder (<!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {})
|
||||
val d = suspend <!SYNCHRONIZED_ON_SUSPEND_WARNING!>@Synchronized<!> {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// FIR_IDENTICAL
|
||||
// LANGUAGE: +SynchronizedSuspendError
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
<!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!>
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
val a: suspend () -> Unit
|
||||
get() = <!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {}
|
||||
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {}
|
||||
val c = builder (<!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {})
|
||||
val d = suspend <!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
|
||||
fun test() {
|
||||
<!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!>
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
val b: suspend () -> Unit = <!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {}
|
||||
val c = builder (<!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {})
|
||||
val d = suspend <!SYNCHRONIZED_ON_SUSPEND_ERROR!>@Synchronized<!> {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
|
||||
@Synchronized
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
fun builder(c: suspend () -> Unit) {}
|
||||
|
||||
val a: suspend () -> Unit
|
||||
get() = @Synchronized {}
|
||||
val b: suspend () -> Unit = @Synchronized {}
|
||||
val c = builder (@Synchronized {})
|
||||
val d = suspend @Synchronized {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
|
||||
fun test() {
|
||||
@Synchronized
|
||||
suspend fun foo(f: () -> Unit): Unit = f()
|
||||
|
||||
val b: suspend () -> Unit = @Synchronized {}
|
||||
val c = builder (@Synchronized {})
|
||||
val d = suspend @Synchronized {}
|
||||
val e = <!WRONG_ANNOTATION_TARGET!>@Synchronized<!> suspend {}
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
// !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 {}
|
||||
}
|
||||
Reference in New Issue
Block a user