<init>

Common
JVM
JS
Native
1.0
<init>(count: Int)

Signifies that the annotated functional type has the prefix of size count for context receivers. Thus, @ContextFunctionTypeParams(2) @ExtensionFunctionType Function4<String, Int, Double, Byte, Unit> is a normalized representation of context(String, Int) Double.(Byte) -> Unit.

Just the same as @ExtensionFunctionType, this annotation is not assumed to be used in source code, preferring the explicit function type syntax, like in the example above.

There's no need in any additional opt-in limitations because this annotation might only be referenced by users who turned on an experimental -Xcontext-receivers compiler flag, for which there are no backward/forward compatibilities guarantees.