[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