-
-
Notifications
You must be signed in to change notification settings - Fork 185
test MSVC default conformance mode, using its legacy lambda processor #253
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
test MSVC default conformance mode, using its legacy lambda processor #253
Conversation
|
@marzer Does the CI build your Visual Studio Solution file, "toml++.sln"? |
|
Nope. That's just something I use when I work on it locally. Though, these days I don't use VS as much and am starting to prefer a non VS-oriented workflow, so I wouldn't worry about it tbh. The windows runner uses meson, just like the Linux ones. I guess you'd need to add a new test exe with different options in for the windows run. |
The added "test_release_x64_legacy_lambda.vcxproj" is basically just a copy of "test_release_x64.vcxproj", but it has an extra property `ConformanceMode`, set to `Default`. Which triggers MSVC to use its "legacy lambda processor". With such a configuration, the user may need to define `TOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDA`. Follow-up to commit cbc00d6 "add TOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDA workaround MSVC error C2057 (marzer#247)"
b326539 to
7a7f990
Compare
Added "permissive" option to the ci matrix, for windows. Used `TOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDA` to avoid the compile errors reported by Kevin Dick, Jan 19, 2024, at issue marzer#219
7a7f990 to
d9df743
Compare
|
@marzer I think this pull request is ready now, as it tests both Non-permissive conformance mode:
Permissive conformance mode +
Minor issue: somehow, adding
Does that bother you? I think these warnings can be ignored safely. If you want to have them fixed anyway, do you have a suggestion how? |
|
Sorry, missed that you'd updated this. Warning about the CLI argument is fine, no problem. Happy to merge this one as-is. Thanks! 🎉 |
|
@marzer Thanks again for merging, Mark! I hope you can still consider adding a new tag to the master branch. For our project (elastix), we prefer to use tagged versions of third party libraries. And it has been a while already, the last toml++ tag appears 30 commits and 17 months ago: https://github.com/marzer/tomlplusplus/tags |
|
Yeah, I do intend to make a new release soon, no worries. Will try to do it in the next week or so. |
The added "test_release_x64_legacy_lambda.vcxproj" is basically just a copy of "test_release_x64.vcxproj", but it has an extra property
ConformanceMode, set toDefault. Which triggers MSVC to use its "legacy lambda processor".With such a configuration, the user may need to define
TOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDA.Update, March 4, 2025: The pull request now also adds
/permissivebuilds to the CI, usingTOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDAto prevent compile errors.Follow-up to commit cbc00d6 "add TOML_DISABLE_CONDITIONAL_NOEXCEPT_LAMBDA workaround MSVC error C2057 (#247)"
origin/master(if necessary)