Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 15857 - incorrect checkimports mismatch for overload sets #5681

Merged
merged 2 commits into from Apr 17, 2016

Conversation

9rnsr
Copy link
Contributor

@9rnsr 9rnsr commented Apr 17, 2016

Cache the generated OverloadSet object into scope, and prevent repetition of identical objects.

@dlang-bot
Copy link
Contributor

Fix Bugzilla Description
15857 incorrect checkimports mismatch for overload sets

Cache the generated `OverloadSet` object into scope, and prevent repetition of identical objects.
@WalterBright WalterBright merged commit 82c5682 into dlang:stable Apr 17, 2016
@9rnsr 9rnsr deleted the fix15857 branch April 17, 2016 23:21
MartinNowak added a commit to MartinNowak/dmd that referenced this pull request Sep 16, 2016
- properly fix Issue 15857 by comparing overload sets for equality
  (see 082e119 or dlang#5681 for the previous fix)
- caching them in the local symbol table doesn't fully fix the issue b/c the
  table is not checked w/ SearchImportsOnly (see added test case)
- also with -transition=checkimports adding an overload set to the local
  symbol table will return that overload set for locals only searches,
  even though it might contain imported overloads (see readded dip22e deprecation)
- might still make sense to correctly cache overload sets at some point,
  but they shouldn't be that common
UplinkCoder pushed a commit to UplinkCoder/dmd that referenced this pull request Nov 3, 2016
- properly fix Issue 15857 by comparing overload sets for equality
  (see 082e119 or dlang#5681 for the previous fix)
- caching them in the local symbol table doesn't fully fix the issue b/c the
  table is not checked w/ SearchImportsOnly (see added test case)
- also with -transition=checkimports adding an overload set to the local
  symbol table will return that overload set for locals only searches,
  even though it might contain imported overloads (see readded dip22e deprecation)
- might still make sense to correctly cache overload sets at some point,
  but they shouldn't be that common
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants