Re: Modifying an associative array argument not passed by ref

2025-03-09 Thread Ali Çehreli via Digitalmars-d-learn
On 3/8/25 4:14 AM, Anonymouse wrote: > On Saturday, 8 March 2025 at 12:02:41 UTC, Nick Treleaven wrote: >> `assert(0 in aa2)` actually fails too. > > So it does! My bad. It makes more sense now. > >> When an AA is null, it must be passed by ref to modify it. Once it is >> non-null, its keys and va

Re: Modifying an associative array argument not passed by ref

2025-03-08 Thread Anonymouse via Digitalmars-d-learn
On Saturday, 8 March 2025 at 12:02:41 UTC, Nick Treleaven wrote: `assert(0 in aa2)` actually fails too. So it does! My bad. It makes more sense now. When an AA is null, it must be passed by ref to modify it. Once it is non-null, its keys and values can be modified. But even a non-null AA can

Re: Modifying an associative array argument not passed by ref

2025-03-08 Thread Nick Treleaven via Digitalmars-d-learn
On Saturday, 8 March 2025 at 11:46:50 UTC, Anonymouse wrote: int[int] aa2; assert(0 !in aa2); modifyNoRef(aa2); assert(0 in aa2); int[int] aa3; const key = aa3.uniqueKey; assert(key in aa3); // <-- } ``` The `key in aa3` assert fails unless I make `uniqueKey` take