On 04/17/2012 09:04 PM, Dmitry Olshansky wrote:
On 17.04.2012 22:59, Timon Gehr wrote:
On 04/17/2012 08:53 PM, H. S. Teoh wrote:
On Tue, Apr 17, 2012 at 08:48:04PM +0200, Andrej Mitrovic wrote:
On 4/17/12, Andrej Mitrovic<[email protected]> wrote:
On 4/17/12, H. S. Teoh<[email protected]> wrote:
But even then, I'm considering if .keys should return a mutable
array if
the key is a value type

How about having .keys for mutable

Personally I use .keys often and expect them to be mutable. For
example:

string[] atts = attributes.keys;
sort(atts);

There is no "sorted" in phobos so I have to use the sort function
which takes arguments by reference. I can't pass immutable arrays to
it.

Sometimes I like to store an array of keys from multiple hashes, e.g.:
string[] arr = hash.keys;
arr ~= hash2.keys;

Long story short, making .keys immutable would break a lot of my code.
I don't know if that's true for others as well..

What if .keys returns a tail-immutable array? You should still be able
to sort it, right?


T


No, an immutable array cannot be sorted regardless of whether or not the
slice is mutable.

Mm I believe you can sort array with immutable *elements* like say
strings (at least dchar ones).



immutable(string)[] <- tail-immutable array, cannot be sorted in place
string[] <- can be sorted, but it is not tail-immutable

Reply via email to