On Friday, 30 December 2022 at 10:03:20 UTC, Salih Dincer wrote:
On Friday, 30 December 2022 at 09:29:16 UTC, novice2 wrote:
On Friday, 30 December 2022 at 04:43:48 UTC, Salih Dincer wrote:
  ...
  // example one:
  char[] str1 = "cur:€_".dup;
  ...
  // example two:
  dchar[] str2 = cast(dchar[])"cur:€_"d;
  ...
SDB@79

why you use .dup it example one, but not use in example two?

dchar[] str2 = cast(dchar[])"cur:€_"d.dup;

If I do not use .dup in the 1st example and convert as cast(char[]), it gives an error. However, in the 2nd example using .dup does nothing. It's not working anyway!
...

Are you sure about that?

Because replacing this:

dchar[] str2 = cast(dchar[])"cur:€_"d;

with this:

dchar[] str2 = (cast(dchar[])"cur:€_").dup;

Worked for me:

8: [€_]
[cur:$  _]
6: [€_]
[cur$ _]

A small example of the problem:

import std.stdio;

void main(){
  dchar[] str1 = (cast(dchar[])"cur:€_").dup;
  dchar[] str2 = (cast(dchar[])"cur:€_");

  str1[0] = '1';
//str2[0] = '1'; // this will give: Error: program killed by signal 11
}

Matheus.
  • dChar Error Salih Dincer via Digitalmars-d-learn
    • Re: dChar E... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
      • Re: dCh... Salih Dincer via Digitalmars-d-learn
        • Re:... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
    • Re: dChar E... novice2 via Digitalmars-d-learn
      • Re: dCh... Salih Dincer via Digitalmars-d-learn
        • Re:... matheus via Digitalmars-d-learn
          • ... Salih Dincer via Digitalmars-d-learn
            • ... matheus via Digitalmars-d-learn
              • ... Ali Çehreli via Digitalmars-d-learn
                • ... matheus via Digitalmars-d-learn
                • ... Salih Dincer via Digitalmars-d-learn
                • ... Salih Dincer via Digitalmars-d-learn
                • ... Ali Çehreli via Digitalmars-d-learn
                • ... Salih Dincer via Digitalmars-d-learn

Reply via email to