On 03/02/2018 01:50 PM, Jonathan M Davis wrote:
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.
Yah, it blames to Jakob Ovrum. But I don't have a simple method to
ascribe the blame to a specific PR. Is the only way to look at the date
then look at the log? Thanks. -- Andrei