Overload resolution support for more kinds of candidate. (#6071)

* Add support for template candidates by calling the suitable
`AddCandidate` function for them.
* Add support for overloading on `*this` qualifiers by calling
`AddMethodCandidate` when appropriate.
* Make mapping from Carbon arguments to Clang arguments a little more
faithful by mapping the Carbon expression category into the Clang value
kind.
This commit is contained in:
Richard Smith
2025-09-16 21:57:32 +00:00
committed by GitHub
parent bac828d244
commit b054e3d2b0
11 changed files with 420 additions and 234 deletions
@@ -46,9 +46,9 @@ import Cpp library "string_view.h";
//@dump-sem-ir-begin
fn F() {
// CHECK:STDERR: fail_todo_5891_import_multiple.carbon:[[@LINE+7]]:3: error: call argument of type `str` is not supported [CppCallArgTypeNotSupported]
// CHECK:STDERR: fail_todo_5891_import_multiple.carbon:[[@LINE+7]]:15: error: call argument of type `str` is not supported [CppCallArgTypeNotSupported]
// CHECK:STDERR: Cpp.Consume("hello");
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~
// CHECK:STDERR: ^~~~~~~
// CHECK:STDERR: fail_todo_5891_import_multiple.carbon:[[@LINE+4]]:3: note: in call to Cpp function here [InCallToCppFunction]
// CHECK:STDERR: Cpp.Consume("hello");
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~