https://issues.dlang.org/show_bug.cgi?id=17454
--- Comment #4 from Manu <turkey...@gmail.com> --- > What does happen is d_fun()'s caller allocates S, and then passes a pointer > to S to d_fun(), and d_fun() fills it in and returns that pointer to S. Interesting... so, what is __HID1 as expressed in the debuginfo? It appears to be local to d_fun. It is(typeof(__HID1) == S), not S*, and it's the address of __HID1 that is returned... --