[Issue 2083] New: Cannot convert char[] to string

Janice Caron caron800 at googlemail.com
Thu May 8 21:47:48 PDT 2008


On 08/05/2008, d-bugmail at puremagic.com <d-bugmail at puremagic.com> wrote:
> http://d.puremagic.com/issues/show_bug.cgi?id=2083
>
>            Summary: Cannot convert char[] to string
>            Product: D
>            Version: 2.012
>           Platform: PC
>         OS/Version: Linux
>             Status: NEW
>           Severity: normal
>           Priority: P2
>          Component: DMD
>         AssignedTo: bugzilla at digitalmars.com
>         ReportedBy: jlquinn at optonline.net
>
>
>  This is really ugly.  The following program:
>
>  void test(char[] s) {
>   string t = s;
>  }
>
>  gives the following error:
>
>  junk2.d(2): Error: cannot implicitly convert expression (s) of type char[] to
>  invariant(char)[]

And so it should. That /is/ an error, and a serious one.


>  I haven't found a way around this yet.

    string t = s.idup;


>  It really should be handled as an
>  implicit conversion, with a copy being made under the covers as needed.

A copy is made when you add ".idup", but D doesn't like to make silent
copies "under the covers as needed".


More information about the Digitalmars-d-bugs mailing list