-
Notifications
You must be signed in to change notification settings - Fork 264
fix(util): handle known UFCS corner cases #506
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
6e01f9a
fix(util): handle known UFCS corner cases
JohelEGP e423bab
refactor: regenerate `reflect.h`
JohelEGP 50fd850
refactor(util): use new UFCS macros
JohelEGP c0e5cc3
test: add unit tests for fixed UFCS corner cases
JohelEGP 0c4329c
test: regenerate regression tests
JohelEGP e60f076
refactor(util): remove old UFCS branch
JohelEGP f998496
refactor(util): comment the need for `CPP2_UFCS_IS_NOTHROW`
JohelEGP 1fe5037
refactor(to_cpp1): split name lookup from `ufcs_possible`
JohelEGP 38bc541
refactor(to_cpp1): clarify name of `ufcs_possible`
JohelEGP ecae575
refactor(to_cpp1): rename `stack` variables to `guard`
JohelEGP cb588c1
refactor(to_cpp1): add comment on added `stack` functions
JohelEGP 1561fd3
refactor(to_cpp1): invert meaning of result to match rename
JohelEGP fc7e1fd
fix(to_cpp1): a using declaration doesn't name a variable
JohelEGP 783d68d
fix(to_cpp1): do not capture in UFCS of type scope alias
JohelEGP b90cdfb
fix(to_cpp1): do not capture in UFCS of type scope alias
JohelEGP 9643874
refactor(to_cpp1): regroup conditions more naturally
JohelEGP 8ea0166
test: regenerate test-results
JohelEGP 99a755a
fix(to_cpp1): do capture in UFCS of contract
JohelEGP 295a886
test: regenerate test-results
JohelEGP 0c8fa21
fix(to_cpp1): emit qualified UFCS template call correctly
JohelEGP 55710ba
fix(to_cpp1): emit qualified UFCS template call correctly
JohelEGP 811b5e8
fix(util): workaround MSVC bug for UFCS of 'F' in member 'F'
JohelEGP 33cb7d5
test: disable the simpler test case due to the GCC bug
JohelEGP f7517ef
test: disable test cases now failing on MSVC
JohelEGP 7f49d99
Results of testing the PR incl. with MSVC 2022
hsutter 73d4b62
refactor(to_cpp1): apply review comment and rename name lookup
JohelEGP 5302db0
test: regenerate test-results
JohelEGP d167f2b
test: add case for the happy path
JohelEGP 8ad1335
test: regenerate UFCS tests
JohelEGP File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
refactor(to_cpp1): invert meaning of result to match rename
- Loading branch information
commit 1561fd35a2ec86b9bee71f7ed7191f9c478698f3
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is another case, from #550 (comment).
It happens in a function expression, when lookup for the function name finds a variable outside the function expression that needs to be captured in order to be used.
UFCS should be disabled because, by definition, the function name can't be captured (#748).