@@ -3789,6 +3789,9 @@ class CompletionLookup final : public swift::VisibleDeclConsumer {
3789
3789
// same result type) as the contextual type.
3790
3790
FilteredDeclConsumer consumer (*this , [=](ValueDecl *VD,
3791
3791
DeclVisibilityKind reason) {
3792
+ if (VD->isOperator ())
3793
+ return false ;
3794
+
3792
3795
if (!VD->hasInterfaceType ()) {
3793
3796
TypeResolver->resolveDeclSignature (VD);
3794
3797
if (!VD->hasInterfaceType ())
@@ -3822,7 +3825,7 @@ class CompletionLookup final : public swift::VisibleDeclConsumer {
3822
3825
// convertible to the contextual type.
3823
3826
if (auto CD = dyn_cast<TypeDecl>(VD)) {
3824
3827
declTy = declTy->getMetatypeInstanceType ();
3825
- return swift::isConvertibleTo (declTy, T, *DC);
3828
+ return declTy-> isEqual (T) || swift::isConvertibleTo (declTy, T, *DC);
3826
3829
}
3827
3830
3828
3831
// Only static member can be referenced.
@@ -3839,7 +3842,7 @@ class CompletionLookup final : public swift::VisibleDeclConsumer {
3839
3842
// FIXME: This emits just 'factory'. We should emit 'factory()' instead.
3840
3843
declTy = FT->getResult ();
3841
3844
}
3842
- return swift::isConvertibleTo (declTy, T, *DC);
3845
+ return declTy-> isEqual (T) || swift::isConvertibleTo (declTy, T, *DC);
3843
3846
});
3844
3847
3845
3848
auto baseType = MetatypeType::get (T);
0 commit comments