ICE?
Daniel Kozak via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun May 17 03:14:49 PDT 2015
On Sunday, 17 May 2015 at 09:59:41 UTC, Daniel Kozak wrote:
>
> On Sun, 17 May 2015 09:33:27 +0000
> Namespace via Digitalmars-d-learn
> <digitalmars-d-learn at puremagic.com> wrote:
>
>> On Sunday, 17 May 2015 at 09:30:16 UTC, Gary Willoughby wrote:
>> > On Sunday, 17 May 2015 at 09:25:33 UTC, Namespace wrote:
>> >> Is this error an ICE? I think so, because I see the
>> >> internal filename, but I'm not sure.
>> >>
>> >> Error: e2ir: cannot cast malloc(length * 8u) of type void*
>> >> to type char[]
>> >
>> > Have you got a code sample to reproduce this?
>>
>> Of course:
>>
>> ----
>> void main() {
>> import core.stdc.stdlib : malloc, free;
>>
>> auto ptr = cast(char[]) malloc(42);
>> }
>> ----
>
> I guess it should be:
>
> auto ptr = cast(char*)malloc(42)[0 .. 42];
or this if you want ptr to be char[] and not a pointer to char:
auto ptr = (cast(char*)malloc(42))[0 .. 42];
or
auto ptr = cast(char[])malloc(42)[0 .. 42];
More information about the Digitalmars-d-learn
mailing list