// !LANGUAGE: +ProhibitDataClassesOverridingCopy interface WithCopy { fun copy(str: T): WithCopy } data class Test(val str: String) : WithCopy { override fun copy(str: String) = Test(str) }