[libcxx-commits] [PATCH] D115291: [libc++] `= delete` member functions with // = delete;

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Dec 7 15:27:17 PST 2021


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

LGTM -- this one definitely has no ABI impact :)

I believe this might in some cases turn link errors into compile-time errors, but that's fine.

For some reason, I also have a feeling that this might make code that used to compile not compile anymore. From https://en.cppreference.com/w/cpp/language/function#Deleted_functions:

> If the function is overloaded, overload resolution takes place first, and the program is only ill-formed if the deleted function was selected.

I believe I've seen some cases where deleted functions would cause hard errors to happen instead of SFINAE, because the deleted function would be viable, but when the compiler would select and  try to instantiate it, it would say "you can't do that, the function is deleted". But I'm failing to reproduce that, so I guess it's not a real issue: https://godbolt.org/z/YjMK9G6qs


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115291/new/

https://reviews.llvm.org/D115291



More information about the libcxx-commits mailing list