On Thu, Jun 27, 2019 at 3:27 AM Gavin Lambert via Boost < boost@lists.boost.org> wrote:
On Thu, Jun 27, 2019 at 12:23 AM Gavin Lambert wrote:
And "UB-based optimization" does not inspire confidence.
There is nothing I can do for standard pointers other than to give up the optimization or to use the UB. (This is one of the reasons it was
On 27/06/2019 18:11, JeanHeyd Meneide wrote: proposed
to the standard, asides from being an existing practice with wide implementation experience.)
Correct me if I'm wrong, but the clever implementation appears to depend on several #defines which are entirely undocumented. ... And the "clever" version of inout_ptr is enabled by default, with all of these undocumented choices.
Yes, that was an oversight on my part. It's been corrected in the post-review branch, with full documentation: https://github.com/ThePhD/out_ptr/blob/feature/boost.review/docs/out_ptr/con... The library prefers the fast version by default. It has a configuration option to choose where the clever optimization might look for the pointer value. Given feedback, I think it would be better to maybe have it off by default: that's a small change to flipping how the configuration macros work right now. So far the only reported failures come from libc++ using this clever optimization. This was patched in to be fixed in the post-review branch, but I can't merge such changes to Master until the review is over. Sincerely, JeanHeyd