[libcxx-commits] [libcxx] [libc++] Make sure that __desugars_to isn't tripped up by reference_wrapper and cv-refs (PR #132092)

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Thu Mar 20 11:16:49 PDT 2025


================
@@ -52,6 +52,24 @@ struct __totally_ordered_less_tag {};
 template <class _CanonicalTag, class _Operation, class... _Args>
 inline const bool __desugars_to_v = false;
 
+// For the purpose of determining whether something desugars to something else,
----------------
mordante wrote:

Still I'm concerned that a `volatile` qualified operator is intended not to be optimized. I expect them to be very rare so not desugaring them sounds not a big loss. IMO if we want to desugar them I'd like some tests that desugaring them has no unexpected issues in cases where a `volatile` operator depends on read and writes not being optimized away.

https://github.com/llvm/llvm-project/pull/132092


More information about the libcxx-commits mailing list