Issue 53084
Summary Clang incorrectly selects std::apply() where user's apply() in local namespace exists
Labels new issue
Assignees
Reporter ikitayama
    We found with `-std=c++17` option used Clang can not compile simple program shown below:

```
#include <tuple>
#include <vector>

namespace foo
{

void
bar()
{
}

std::vector< double >
apply( const std::vector< double >&, const std::vector< double >& )
{
  return {};
}

void
run()
{
  std::vector< double > vec;

  bar();                  // OK
  apply( vec, vec );      // Tries to use std::apply() from <tuple>, which causes an error with the arguments
  foo::apply( vec, vec ); // OK
}
} // end of namespace foo

int
main()
{
  foo::run();
}
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to