Relax rules related to noinline/crossinline/reified in header/impl functions

See the comments in KT-18752 for the current resolution

 #KT-15377 Fixed
 #KT-18752 Fixed
This commit is contained in:
Alexander Udalov
2017-07-24 16:43:58 +03:00
parent d1cff41ce0
commit b87abc9f0f
7 changed files with 113 additions and 75 deletions
@@ -1,5 +1,3 @@
import kotlin.coroutines.experimental.*
impl fun f1(): String = ""
impl fun f2(otherName: String) {}
@@ -21,7 +19,7 @@ private impl fun f10() {}
impl fun <T : Annotation> f11() {}
impl fun <U : MutableList<out String>> f12() {}
impl fun <A, B : Continuation<B>> f13() {}
impl fun <A, B : Comparable<B>> f13() {}
impl inline fun <reified X> f14() {}
impl inline fun <Y> f15() {}
@@ -30,9 +28,7 @@ impl fun f16(s: String = "") {}
impl fun f17(s: Array<out String>) {}
impl fun f18(vararg s: String) {}
impl inline fun f19(s: () -> Unit) {}
impl inline fun f20(crossinline s: () -> Unit) {}
impl inline fun f21(s: () -> Unit) {}
impl inline fun f22(noinline s: () -> Unit) {}
impl fun f23(c: Unit.() -> Unit) {}
impl fun f24(c: suspend Unit.() -> Unit) {}
impl inline fun f19(crossinline s: () -> Unit) {}
impl inline fun f20(noinline s: () -> Unit) {}
impl fun f21(c: Unit.() -> Unit) {}
impl fun f22(c: suspend Unit.() -> Unit) {}