ошибка в аннотациях kotlin?

вот два примера кода

Ява:

public class Q { @Retention(RetentionPolicy.SOURCE) @IntDef({LOL.one, LOL.two}) @interface Lol{} public final class LOL{ public final static int one = 1; public final static int two = 2; } public Q(){ q(1); } void q (@Lol int q){ } } 

Котлин:

 class Q { @Retention(AnnotationRetention.SOURCE) @IntDef(LOL.one, LOL.two) internal annotation class Lol object LOL { const val one = 1L const val two = 2L } init { q(1) } internal fun q(@Lol q: Int) { } } 

probleb здесь: в java, называя это q (1); покажет вам ошибку, например: «должно быть одним из …»

но в kotlin нет никакого сообщения об ошибке, поэтому мы можем поместить в качестве параметра сколько угодно времени … поэтому мы теряем преимущества аннотации в качестве параметра …

выглядит как ошибка, или я делаю что-то неправильно?

Это не ошибка. Это функция, которая еще не реализована в Котлине. Планируется в будущем.