string types: const(char)[] and cstring
Bill Baxter
dnewsgroup at billbaxter.com
Mon May 28 16:51:30 PDT 2007
Oskar Linde wrote:
> Myron Alexander skrev:
>> noSpam wrote:
>>> Walter Bright wrote:
>>>> Derek Parnell wrote:
>>>>> const(char)[] // A mutable array of immutable characters?
>>>>> const(char[]) // An immutable array of mutable characters?
>>>>> const(const(char)[]) // An immutable array of immutable characters?
>>>>> char[] // A mutable array of mutable characters?
>>>>>
>>>>> What will happen with the .reverse and .sort array properties when
>>>>> used
>>>>> with const, invariant, and final qualifiers?
>>>>
>>>> They'll all fail.
>>>
>>> I think it's better to return reversed/sorted copy. This will make
>>> such change more backward compatibile.
>>
>> This makes sense. For immutable arrays, the definition should drop "in
>> place" and just return a copy.
>
> Which would be very confusing. This is instead a perfect opportunity to
> take the *much* better path of finally depreciating the .sort and
> .reverse "properties". Equally good or better library implementations
> are possible (and exists). For example, .sort can't take an ordering
> predicate.
+1 (and thanks for your predicate-accepting sort routine, Oskar!)
> Also, the special casing of reversing char[] and wchar[]
> arrays, preserving the encoded unicode code points is definitely (imho)
> too specialized to belong in the language (runtime) as opposed to a
> library.
No opinion there. What about the special code-point-at-a-time foreach
for char[]? Do you dislike that too?
--bb
More information about the Digitalmars-d-announce
mailing list