Skip to content

Commit c0b1057

Browse files
committed
Adjust overload detection for distributed funcs
1 parent 8ac7f0b commit c0b1057

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

lib/AST/Decl.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3226,14 +3226,12 @@ bool swift::conflicting(const OverloadSignature& sig1,
32263226
// versions, as that is what the async overloading aimed to address.
32273227
//
32283228
// Note also, that overloading on throws is already illegal anyway.
3229-
if (sig1.IsDistributed || sig2.IsDistributed) {
3230-
if (sig1.IsAsyncFunction != sig2.IsAsyncFunction)
3231-
return true;
3232-
} else {
3233-
// Otherwise one is an async function and the other is not, they don't conflict.
3229+
if (!sig1.IsDistributed && !sig2.IsDistributed) {
3230+
// For non-distributed functions,
3231+
// if one is an async function and the other is not, they don't conflict.
32343232
if (sig1.IsAsyncFunction != sig2.IsAsyncFunction)
32353233
return false;
3236-
}
3234+
} // else, if any of the methods was distributed, continue checking
32373235

32383236
// If one is a macro and the other is not, they can't conflict.
32393237
if (sig1.IsMacro != sig2.IsMacro)

0 commit comments

Comments
 (0)