This is the mail archive of the
mailing list for the GCC project.
Re: [v3 PATCH] Implement P0307R2, Making Optional Greater Equal Again.
On 13/07/16 13:05 +0300, Ville Voutilainen wrote:
Ha, that was indeed in just one place.
I made the above changes and also made converting assignment operators
SFINAE. That SFINAE
seems consistent with how constructors and relops work. And yes, there
are still some members like
emplace that static_assert rather than SFINAE, but I think that's ok for now.
operators. Also test that assignment sfinaes.
diff --git a/libstdc++-v3/include/std/optional b/libstdc++-v3/include/std/optional
index e9a86a4..45929c7 100644
@@ -132,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Practically speaking this detects the presence of such an operator when
* called on a const-qualified lvalue (i.e.
- * declval<_Tp * const&>().operator&()).
+ * declval<const _Tp *&>().operator&()).
That comment was wrong anyway, it says _Tp* const& when it should have
been _Tp const&.
declval<_Tp * const&>().operator&() doesn't make any sense. Not sure
why I've never spotted that until now.
Please change it to const _Tp& and change "i.e." to "e.g." (because
since my change last year it detects both members and non-members).
OK for trunk with that tweak, thanks.
I'll make the same change to the comment in <experimental/optional>.