// FIR_IDENTICAL // ALLOW_KOTLIN_PACKAGE // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -UNUSED_PARAMETER // FILE: annotation.kt package kotlin annotation class BuilderInference // FILE: test.kt class Builder { fun add(t: T) {} } fun build(@BuilderInference g: Builder.() -> Unit): List = TODO() fun wrongBuild(g: Builder.() -> Unit): List = TODO() fun Builder.extensionAdd(s: S) {} @BuilderInference fun Builder.safeExtensionAdd(s: S) {} val member = build { add(42) } val memberWithoutAnn = wrongBuild { add(42) } val extension = build { extensionAdd("foo") } val safeExtension = build { safeExtensionAdd("foo") }