// https://issues.dlang.org/show_bug.cgi?id=21398
module test21398;
void free(void* ptr);
class MAlloc(T)
{
    import test21398: free;
    void free(T)(T* value)
    {
        free(value);
    }
}
struct Box(T)
{
    private T* __ptr;
    alias A = MAlloc!T;
    ~this()
    {
        A.free(__ptr);
    }
}
void main()
{
    auto b = Box!(char)();
}