Summary: std.container.Array.Range.~this() tries to call
           Product: D
           Version: D2
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Phobos

--- Comment #0 from Lars T. Kyllingstad <> 2010-06-16 
02:18:19 PDT ---

  Array!int a;


std/container.d(1660): Error: function (void* ptr) is not
callable using argument types (int[])
std/container.d(1660): Error: cannot implicitly convert expression
((*this._data)._payload) of type int[] to void*

The fix is trivial, just add .ptr in line 1660:

-            free(_data._payload);
+            free(_data._payload.ptr);

But why aren't the unittests picking this up?  I've investigated a bit, and
found that when Array!int is declared in the std.concurrency unittests, the
int[] is implicitly cast to void* in the call to free().  However, this doesn't
happen when Array!int is declared in user code.  Very strange.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to