-
Notifications
You must be signed in to change notification settings - Fork 249
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
fix(util): handle known UFCS corner cases #506
Merged
Merged
Conversation
This file contains 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
JohelEGP
changed the title
fix(cpp1): handle some UFCS corner cases
fix(cpp1): handle known UFCS corner cases
Jun 10, 2023
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as off-topic.
This comment was marked as off-topic.
JohelEGP
force-pushed
the
ufcs
branch
4 times, most recently
from
June 18, 2023 21:32
9938c29
to
2894bba
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This was referenced Aug 11, 2023
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Except for |
JohelEGP
force-pushed
the
ufcs
branch
2 times, most recently
from
August 29, 2023 19:09
c24155b
to
76641b2
Compare
JohelEGP
force-pushed
the
ufcs
branch
2 times, most recently
from
September 14, 2023 00:24
549e4ce
to
a10eb63
Compare
This comment was marked as resolved.
This comment was marked as resolved.
And minor code tweaks
Done. |
Thanks! 🎉 |
This was referenced Dec 3, 2023
JohelEGP
added a commit
to JohelEGP/cppfront
that referenced
this pull request
Dec 11, 2023
JohelEGP
referenced
this pull request
Dec 31, 2023
JohelEGP
commented
Jan 2, 2024
Comment on lines
+50
to
+55
{ // Rejected by MSVC. | ||
// f := :<f: _> (copy _: std::integral_constant<identity, f>) -> _ = { | ||
// assert(t().f() == 0); | ||
// return u().f(); | ||
// }(:std::integral_constant<identity, (:identity = ())> = ()); | ||
// _ = f; |
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.
This seems to be accepted now: https://cpp1.godbolt.org/z/dTsWzfMcd.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Resolves #854.
Resolves #550.
Resolves #509. Resolves #769.
Resolves #497. Resolves #439. Closes #490. And discussion #810.
Resolves #496.
Resolves #493.
Provides a better name lookup implementation for #533.
Testing summary:
Acknowledgements:
Status:
*-bugfix-for-ufcs-*
)mixed-*-non-local
11-14 ❌ᵈ
13 ✅
🐂 11 , 🐲 13 https://cpp1.godbolt.org/z/19d4xaW5E
💼 https://cpp1.godbolt.org/z/rrTjhcbj7
pure2-*-arguments
💼 https://cpp1.godbolt.org/z/G6se4rnzr
pure2-*-name-lookup
💼 https://cpp1.godbolt.org/z/7cqszTnbY
pure2-*-noexcept
11 ✅
13 ✅
🐂 11 , 🐲 13 https://cpp1.godbolt.org/z/rxxGf7vWP
💼 https://cpp1.godbolt.org/z/qMsseKKqY
pure2-*-sfinae
13 ❌ᶜ
14 ✅
🐲 14 https://cpp1.godbolt.org/z/69Trr5EYd
💼 https://cpp1.godbolt.org/z/Wx6hrdeT6
✅ᵃ: After disabling various tests in
pure2-*-name-lookup
.❌ᵇ: GCC BUG101043 (the workaround makes it always potentially-throwing).
❌ᶜ: Clang 13 bug (
error: static_assert expression is not an integral constant expression
, https://cpp1.godbolt.org/z/WcEqYx8sG).❌ᵈ: GCC BUG109781 (GCC bug on UFCS use).
❌ᵉ: Clang 12 doesn't support lambdas in unevaluated contexts.