digitalmars.D.learn - Mutable reference for immutable AA
- Jack Applegame (15/15) May 29 2015 I need mutable storage for immutable associative array. Just
- Jack Applegame (10/10) May 29 2015 I made trivial pull request -
I need mutable storage for immutable associative array. Just create new immutable AA and store it for future passing it between threads/fibers. First attempt: just immutable AA immutable aa = ["1":1, "2":1]; aa = ["1":1, "2":1]; // fail, can't assign a new AA Second attempt: mutable AA with immutable elements. immutable (int)[string] aa = ["1":1, "2":1]; aa = ["1":1, "2":1]; // sucess! aa["2"] = 2; // doesn't compile, is AA immutable? aa.remove("1"); // fail, this compiles, AA actually isn't immutable Third attempt: Rebindable Rebindable!(immutable int[string]) aa; // fail, Rebindable doesn't accept AAs
May 29 2015
I made trivial pull request - https://github.com/D-Programming-Language/phobos/pull/3341 RebindableAA!(immutable int[string]) aa = ["a": 1, "b": 2]; // works assert(aa["a"] == 1); // cool aa = ["a": 3, "b": 4]; // nice auto bb = aa; // yes bb = ["a": 4, "b": 5]; // super aa["a"] = 2; // error, good aa.remove("a"); // error, very good
May 29 2015