@Test fun testShallowCopyOfDataClass_onChangeRecord_copiedRecordChangedToo() { val subj = TestItemDataClass("Jane", 12) val shallowCopySubj = subj.copy() subj.name = "Bear" assertEquals("Bear", subj.name) assertEquals("Bear", shallowCopySubj.name) // FIXME crash here, it behaves like deep copy } private data class TestItemDataClass ( var name: String, var count: Int )