Allow only 'out' modifier for value parameter modifiers in functional type

(comments also mention 'lazy' and 'ref'; these value parameter modifiers are unsupported, anyway).
This commit is contained in:
Dmitry Petrov
2016-12-15 10:55:05 +03:00
committed by Stanislav Erokhin
parent eec96f1954
commit a3338b2230
7 changed files with 55 additions and 7 deletions
@@ -13,5 +13,6 @@ typealias Test6 = <!WRONG_MODIFIER_TARGET!>suspend<!> List<() -> Unit>
typealias Test7 = <!WRONG_MODIFIER_TARGET!>suspend<!> SAM
typealias Test8 = SuspendFunction0<Unit>
typealias Test9 = suspend (() -> Unit) -> Unit
typealias Test10 = suspend (<!UNSUPPORTED!>suspend<!> () -> Unit) -> Unit
typealias Test11 = suspend () -> (suspend () -> Unit)
typealias Test10 = suspend (suspend () -> Unit) -> Unit
typealias Test11 = suspend () -> (suspend () -> Unit)
typealias Test12 = suspend (suspend (() -> Unit)) -> Unit
@@ -8,8 +8,9 @@ public interface SAM {
}
public typealias Action = () -> kotlin.Unit
public typealias Test1 = suspend () -> kotlin.Unit
public typealias Test10 = suspend (() -> kotlin.Unit) -> kotlin.Unit
public typealias Test10 = suspend (suspend () -> kotlin.Unit) -> kotlin.Unit
public typealias Test11 = suspend () -> suspend () -> kotlin.Unit
public typealias Test12 = suspend (suspend () -> kotlin.Unit) -> kotlin.Unit
public typealias Test2 = suspend kotlin.Int.(kotlin.String) -> kotlin.Unit
public typealias Test3 = () -> kotlin.Unit
public typealias Test4 = Action