Whenever an unqualified name other than
swap, 
make_error_code, 
make_error_condition, or
submdspan_mapping
is used in the specification of a declaration 
D
in 
[support] through 
[thread] or 
[depr],
its meaning is established
as-if by performing unqualified name lookup (
[basic.lookup.unqual])
in the context of 
D.[
Note 1: 
Argument-dependent lookup is not performed
. — 
end note]
[
Example 1: 
The reference to 
is_array_v in the specification of 
std::to_array (
[array.creation]) refers to 
::std::is_array_v. — 
end example]
The meaning of the unqualified name 
swap is established
in an overload resolution context
for swappable values (
[swappable.requirements])
.The meanings of the unqualified names
make_error_code, 
make_error_condition, and
submdspan_mapping
are established
as-if by performing argument-dependent lookup (
[basic.lookup.argdep])
.