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)