libstdc++: Add poison pill for chrono::from_stream
LWG 3956 (approved in Hagenberg, February 2025) decided that from_stream should be found *only* by ADL, not ordinary unqualified lookup. Add a poison pill overload to chrono::__detail where the __parsable concept and operator>>(basic_istream&, _Parser) are defined. This ensures that when they use from_stream unqualified ordinary lookup finds the poison pill, which is deleted, so a usable overload resolution result can only be found by ADL. We already have the std/time/parse/parse.cc test checking that ADL works, so this doesn't add a new test. libstdc++-v3/ChangeLog: * include/bits/chrono_io.h (chrono::__detail::from_stream): Add deleted function as poison pill for unqualified lookup. Reviewed-by: Patrick Palka <ppalka@redhat.com>
This commit is contained in:
parent
b191e8bdec
commit
4b18045962
1 changed files with 4 additions and 0 deletions
|
@ -3115,6 +3115,10 @@ namespace __detail
|
|||
|
||||
namespace __detail
|
||||
{
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
// 3956. chrono::parse uses from_stream as a customization point
|
||||
void from_stream() = delete;
|
||||
|
||||
template<typename _Parsable, typename _CharT,
|
||||
typename _Traits = std::char_traits<_CharT>,
|
||||
typename... _OptArgs>
|
||||
|
|
Loading…
Add table
Reference in a new issue