mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 11:21:05 +01:00
Don't form a bound method when calling a C++ operator. (#7345)
Because we now support calling a function with a `self` parameter directly, we can unconditionally call `operator$(lhs, rhs)` rather than calling `lhs.operator$(rhs)` if the selected operator function happens to be a member function. This makes the logic a bit simpler and the SemIR a bit smaller. We can't do the same for Carbon operators, unfortunately, as we use the member access to trigger impl lookup.
This commit is contained in:
@@ -738,11 +738,6 @@ static auto GetAsCppFunctionDecl(Context& context, SemIR::InstId inst_id)
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
auto IsCppOperatorMethod(Context& context, SemIR::InstId inst_id) -> bool {
|
||||
auto* function_decl = GetAsCppFunctionDecl(context, inst_id);
|
||||
return function_decl && IsCppOperatorMethodDecl(function_decl);
|
||||
}
|
||||
|
||||
auto IsCppConstructorOrNonMethod(Context& context, SemIR::InstId inst_id)
|
||||
-> bool {
|
||||
auto* function_decl = GetAsCppFunctionDecl(context, inst_id);
|
||||
|
||||
Reference in New Issue
Block a user