Open Jannik2099 opened 8 months ago
@ecatmur
Aiui the original issue is due to https://github.com/llvm/llvm-project/issues/59966 which won't be fixed anytime soon.
I guess the simplest solution is to just define the copy operators aswell - however, I wonder if that could be an API change in itself? For example, do you know if boost or any other big consumer has stuff like has_defaulted_operator<T>
?
Considering that you got no such complaint when the move ctor got added, I would guess no.
I guess the simplest solution is to just define the copy operators aswell
Not sure what you mean here; do you mean to #ifdef
out operator=(T const&)
as well, in addition to operator=(T&&)
?
If so, you could do a PR with this change and we'll see what CI says about it.
The fix in #98 breaks usage in
boost::fusion::deque
. Commenting out the#if[...]#endif
around the operator definition make the code below compile again.Sadly I encountered this when using Boost.Spirit, so the cvise-reduced case is still quite icky. Unsure if this is a bug in Boost.Variant, or in how Boost.Fusion uses it.
Godbolt: https://godbolt.org/z/s8EfxT8r4