Is there reason why std.conv.emplace doesn't forward arguments to __ctor?

this doesn't work:

import std.conv : emplace;
import std.functional : forward;

struct Bar{
        
@disable this(const ref typeof(this) rhs)pure nothrow @safe @nogc;
}

class Foo{
    Bar bar;

    this(Bar bar){
        this.bar = forward!bar;
    }
}

void main(){
    void[__traits(classInstanceSize, Foo)] tmp = void;

    emplace!Foo(cast(Foo)tmp.ptr, Bar.init);   //error
}

Reply via email to