main.d(61): Error: temp_[i_] isn't mutable
Ali Çehreli
acehreli at yahoo.com
Sun Jun 20 10:56:11 PDT 2010
Ben Hanson wrote:
> == Quote from Justin Spahr-Summers (Justin.SpahrSummers at gmail.com)'s
>> "string" is actually an alias for "immutable(char)[]" (and
> similarly for
>> the other string types), so its contents are not modifiable, though
> its
>> length can be adjusted and contents appended. If you need to be
> able to
>> modify the characters, just use char[] instead. You can then use the
>> .idup property to get a string afterward.
>
> I'm converted temp_ to CharT[] as suggested, but the conversion back
> to a string is failing:
>
> _charset = temp_.idup;
>
> main.d(76): Error: cannot implicitly convert expression (_adDupT((&
> D58TypeInfo_AT4main14__T5regexTAyaZ18basic_string_token5CharT6__initZ),cast
> (string)temp_)) of type immutable(CharT)[] to string
Would it work for you if the regex template took the character type
instead of the string type?
The relevant lines:
template regex(CharT)
{
// ...
alias CharT[] StringT;
StringT _charset;
enum size_t MAX_CHARS = CharT.max + 1;
// ...
_charset = squeeze(_charset.idup).dup;
And then, in main:
regex!(char).basic_string_token token_;
Ali
More information about the Digitalmars-d
mailing list