llvm-project/libcxx/test/std/diagnostics/syserr
Jonathan Wakely ef843c8271 [libc++] Fix ADL for `make_error_{code,condition}`
Implement LWG 3629, by making lookup for make_error_code and
make_error_condition only consider names found by ADL. This is achieved
by adding a block scope using-declaration for a function that will be
found by unqualified lookup, preventing unqualified lookup from
continuing to enclosing scopes (the class scope, then enclosing
namespaces). The function named by the using declaration is not
viable, so overload resolution must select a candidate found by ADL.

This fixes https://github.com/llvm/llvm-project/issues/57614

Differential Revision: https://reviews.llvm.org/D134943
2022-09-30 17:23:45 -04:00
..
syserr.compare [libc++] Implement `operator<=>` for `error_{code,condition}` 2022-08-15 16:05:53 -07:00
syserr.errcat [libc++] Implement `operator<=>` for `error_category` 2022-08-15 16:05:08 -07:00
syserr.errcode [libc++] Fix ADL for `make_error_{code,condition}` 2022-09-30 17:23:45 -04:00
syserr.errcondition [libc++] Fix ADL for `make_error_{code,condition}` 2022-09-30 17:23:45 -04:00
syserr.hash [libc++] Complete the implementation of N4190 2022-06-22 10:13:03 +02:00
syserr.syserr
errc.pass.cpp
is_error_code_enum.pass.cpp [libc++][ABI Break] Make is_error_condition_enum_v and is_error_code_enum_v bool, not size_t 2021-10-28 15:38:17 -04:00
is_error_condition_enum.pass.cpp [libc++][ABI Break] Make is_error_condition_enum_v and is_error_code_enum_v bool, not size_t 2021-10-28 15:38:17 -04:00