Try this.
import std.gc
struct heapmalloc(T) {
	static T* opCall(U...)(U u) {
		auto res = cast(T*) malloc(T.sizeof);
		(*res) = T(u);
		return res;
	}
}
struct Foo {
	int a;
	float b;
}
void main() {
	auto heapfoo = heapmalloc!(Foo)(1984, 3.14159);
}