File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,28 @@ struct CopyOnWriteTests {
2727 #expect( original. nested. name == " " )
2828 }
2929
30+ @Test
31+ func cow_nested_age( ) {
32+ let original = MyState . init ( )
33+ var copy = original
34+
35+ copy. nested. age = 25
36+
37+ #expect( copy. nested. age == 25 )
38+ #expect( original. nested. age == 10 )
39+ }
40+
41+ @Test
42+ func cow_nested_untracked_age( ) {
43+ let original = MyState . init ( )
44+ var copy = original
45+
46+ copy. nestedUntracked. age = 25
47+
48+ #expect( copy. nestedUntracked. age == 25 )
49+ #expect( original. nestedUntracked. age == 10 )
50+ }
51+
3052 @Test
3153 func cow_array( ) {
3254 let original = MyState . init ( )
Original file line number Diff line number Diff line change @@ -588,6 +588,8 @@ struct MyState {
588588 }
589589
590590 var nested : Nested = . init( name: " " )
591+
592+ var nestedUntracked : NestedUntracked = . init( name: " " )
591593 var nestedAttached : NestedAttached = . init( name: " " )
592594
593595 var optional_custom_type : CustomType ?
@@ -603,6 +605,17 @@ struct MyState {
603605 var name : String = " "
604606 var age : Int = 10
605607 }
608+
609+ struct NestedUntracked {
610+
611+ init ( name: String ) {
612+ self . name = name
613+ }
614+
615+ var name : String = " "
616+ var age : Int = 10
617+ }
618+
606619
607620 struct NestedAttached {
608621 var name : String = " "
You can’t perform that action at this time.
0 commit comments