-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[C++] Switch to std::any and deprecate antlrcpp::Any #3395
Conversation
@mike-lischke I kept |
767bba0
to
557620d
Compare
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.
The patch looks good, however in the build output I see 3 warnings, that should be fixed. No idea when this creeped in, but I see now:
/tmp/BaseCppTest-main-1638301471082/TParser.cpp:79:29: warning: explicit capture of 'this' with a capture default of '=' is a C++20 extension [-Wc++20-extensions]
auto onExit = finally([=, this] {
Then we get a number of warnings because of the recently deprecated EMPTY_VOCABULARY
.
And finally a (probably old) problem with an implicit switch fall through. See the C++ build output in CircleCI.
Can you fix those too?
It looks like has been fixed recently: #3393 |
Fixed everything except EMPTY_VOCABULARY. I'll fix that in a standalone CL. The C++20 warning was fixed in a separate CL after I noticed it. I had misread a preprocessor condition as checking for C++ 17 when it was checking for C++ 20. |
@parrt Another C++ patch to merge. There are some build errors, but from what I see they are all caused by configuration problems on CircleCI. |
Ok, yeah, I think I broke everything yesterday outside of Circleci |
Remove
antlrcpp::Any
in favor ofstd::any
. Unfortunately there is no good story for backwards compatibility asstd::any
is a smaller feature set and only supportsstatic_cast
.