https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751

--- Comment #15 from Luke Dalessandro <ldalessandro at gmail dot com> ---
Thanks for looking at this. I'd like to report it back to boost as an issue,
but I want to make sure I understand what to tell them.

1. The error produce by Andrew's reduction ("error: satisfaction of atomic
constraint ... depends on itself") is different than the one produced in the
original code ("error: satisfaction value of atomic constraint ...  changed)
from 'false' to 'true'"). I'm to understand that this isn't important here,
it's basically reacting to the same thing?

2. The fundamental problem with the boost code is the use of a constrained
`friend` template that depends on the template parameter D, that is not yet
complete when it is evaluated?

3. A fix for this issue in boost and the iterator_interface is to use a
constrained member function rather than attempting to use a constrained friend
function?


Also, from what I understand, I should report Andrew's reduced case as a bug in
clang, and msvc (and maybe nvc++ with its different front-end), which I will
do.

Thanks for looking into this.

Reply via email to