Skip to content

Conversation

rochala
Copy link
Contributor

@rochala rochala commented Mar 8, 2022

@rochala rochala marked this pull request as ready for review March 8, 2022 10:18
@prolativ prolativ self-requested a review March 8, 2022 16:56

/** Completions for derived members of `MatchType`'s type. */
def matchTypeCompletions(qual: Tree)(using Context): CompletionMap =
qual.tpe.widenDealias match
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should only dealias here but not widen

def selectionCompletions(qual: Tree)(using Context): CompletionMap =
implicitConversionMemberCompletions(qual) ++
extensionCompletions(qual) ++
matchTypeCompletions(qual) ++
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this shouldn't be a separate case but we should rather ensure that match types used as method receivers are properly reduced in all other cases. We should also add test cases for them. For some reason in case of extension methods surprisingly this seemed to work even without this PR but still we should add a test to avoid regressions. We should also make sure this works well with implicit conversions.

@rochala rochala force-pushed the match-type-completion branch from 5df04b3 to 61822d2 Compare March 15, 2022 09:21
.withSource.completion(m1, expected)
}

@Test def higherKindedMatchTypeLazyCompletion: Unit = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the essential difference between this test case and higherKindedMatchTypeDeclaredCompletion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

higherKindedMatchTypeDeclaredCompletion is reduced and was working properly without this fix, added this one as a regression test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Completions, higher-kinded types and match types

2 participants