[libcxx-commits] [PATCH] D104175: [libcxx][iwyu] ensures we IWYU as prep for modules
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 14 09:37:51 PDT 2021
Quuxplusone added inline comments.
================
Comment at: libcxx/include/__function_like.h:40
- void operator&() const = delete;
-
----------------
cjdb wrote:
> ldionne wrote:
> > Why is this change necessary?
> The modules build seems to think that types derived from `__function_like` still have addresses. This sent me round the twist trying to figure out why, and I eventually explicitly deleted the operators in the derived types.
>
> I don't want anyone to need to go through this again, so I think it's best we delete the operator from the base type so people realise they need to add it to the derived type.
This explains the many changes in `__iterator/advance.h` etc.
Since this is absolutely unrelated to IWYU, I think it should be a separate PR. Also, for the record, I'll repeat my usual drumbeat that libc++ //does not have to do any of this// `__function_like` stuff, and if it's causing problems, I'd prefer us to just rip it out so that the libc++ code will be as simple as possible.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104175/new/
https://reviews.llvm.org/D104175
More information about the libcxx-commits
mailing list