-
-
Notifications
You must be signed in to change notification settings - Fork 7k
[cpp-rest-sdk] fix enum values being used instead of names #21223
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
Conversation
can you please resolve the merge conflicts when you've time? also looks like this is a breaking change i remember someone added the classname prefix with a reason. need to find out more before we can merge this PR. update: the change was made a while ago. what about adding an option for fallback? |
@wing328 It's a breaking change cause it fixes the issue of using values instead of names. This will not work for any strings that are not symbols, such as numbers or names with dashes or dots. I don't think we should keep this compatible, as it was broken, and only worked because the tests assumed symbol-like string options. The prefix is unnecessary because in C++, the enum classes are scoped. |
@wing328 There's nothing else blocking this PR. |
let's give it a try if users need a way to fallback, they can use customized templates (e.g. -t in CLI) or we can provide an option later |
tests passed locally
|
This fixes the issue with enum values being used instead of enum names. This is problematic when the values contain symbols that can't be a C++ variable.
This also fixes compilation of enums on Windows for the string literals.
It also simplifies the enum variables by removing the unnecessary prefix for scoped enum classes.
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master
(upcoming7.x.0
minor release - breaking changes with fallbacks),8.0.x
(breaking changes without fallbacks)