OptIn: handle usages via type aliases properly

This commit is contained in:
Mikhail Glukhikh
2021-06-03 18:16:35 +03:00
committed by teamcityserver
parent b4ee116de7
commit eb9c658c1c
5 changed files with 38 additions and 8 deletions
@@ -2,6 +2,7 @@
@RequiresOptIn
@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS)
annotation class Marker
@Marker
@@ -59,8 +60,17 @@ class A : I
@OptIn(Marker::class)
class B : I
@OptIn(Marker::class)
typealias MyList = ArrayList<I>
@Marker
typealias YourList = ArrayList<String>
fun main() {
val x = listOf(A(), B())
val y = MyList()
val z = YourList()
YourList().add("")
}
@Marker