Summary: Template instantiation fails in an obscured way. See
           Product: D
           Version: 2.036
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: DMD

--- Comment #0 from Eldar Insafutdinov <> 2009-11-21 
14:44:06 PST ---
Test case:

void boo(T)(T* ptr, const ref T t)
    static if (__traits(compiles, ptr.__postblit()))

void main()
    double b;
    const double a = b;
    double* ptr;
    boo!double(ptr, a);

Commenting out static if (...) line makes it work. Or otherwise if you call boo
with non-const argument(b) it works too.

This one is a blocker for QtD. Basically I need the way, to allocate a copy of
a value on the C heap. In order to do that I allocate the memory chunk with
malloc, then call memcpy() and then, if the value type has postblit I call it.
This bugs prevents me to implement this.

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

Reply via email to