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