What's the deal with _postblitRecurse?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Fri Mar 2 18:50:01 UTC 2018


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



More information about the Digitalmars-d mailing list