On Friday, March 02, 2018 13:32:24 Andrei Alexandrescu via Digitalmars-d wrote: > object.d includes this function _postblitRecurse that's intentionally > public but undocumented. As far as I can see only unittests are using > it. What's the deal with it? Thanks! -- Andrei
It looks like it was trying to workaround a compiler bug with regards to attribute inference and destruction with the idea that it would be used in emplace, but nothing outside of object.d's unit tests use it right now. It looks like all of the changes in Phobos that used may have gotten removed due to regressions that it caused, but _postblitRecurse itself wasn't removed. And it looks like the issue in the compiler may have been fixed, making _postblitRecurse redundant, but all I know is what I can see in git log and a quick glance through the related PR on github. I'd have to read through it all in more detail to accurately assess what happened, though it's clear that it's not used now. https://github.com/dlang/druntime/pull/1181 BTW, in case you didn't know, you can use git blame to figure out which commit last changed a set of lines, and then you can search for that commit on github to find the PR that it relates to, which is how I found this info. - Jonathan M Davis
