Release 3.0.0 of variant lite adds support for converting construction for C++11 and later and let's you configure the types to use for monostate and bad_variant_access.
It contains the following changes:
Additions:
- Introduce converting construction for C++11 and later (#48, thanks @soroush).
- Add configuration option to use external definition for
monostateviavariant_CONFIG_OVERRIDE_MONOSTATE(#55, thanks @MostafaNanticock). - Add configuration option to use external definition for
bad_variant_accessviavariant_CONFIG_OVERRIDE_BAD_VARIANT_ACCESS(#55, thanks @MostafaNanticock). - Mark
bad_variant_accessas[[nodiscard]]at default, omit viavariant_CONFIG_NO_NODISCARD(nonstd-lite issue 74). - Add clang 17 to list of GitHub Actions (thanks to @striezel) (nonstd-lite issue 75).
- Add
export()to CMakeLists.txt enabling importing targets (nonstd-lite issue 50).
Changes:
- Expand use of
constexprandnoexceptas in C++ standard. - Rename
typelist_maxtotypelist_max_sizeof. - Change include path for Windows in lest_cpp03.hpp to lowercase to ensure compatibility with ming64 (#57, thanks @geghamyan) (nonstd-lite issue 80).
- Increment minimum required CMake version to 3.15 (nonstd-lite issue 73).
- Continue workflow if one job fails (#46, thanks @striezel) (nonstd-lite issue 71).
- Update actions/checkout in GitHub Actions to v3, to v4 (#45, #49, thanks @striezel).
- In CMakeLists.txt, use toplevel
unit_name(nonstd-lite issue 56). - Change value used with
*_CPP20_OR_GREATERto 202002L, designate C++23 as speculative (nonstd-lite issue 49). - Replace
_CPPUNWINDwith_HAS_EXCEPTIONS(thanks @DBJDBJ) nonstd-lite issue 48).
Fixes:
- Fix "Undefined reference to index_tag<0ul>" on clang-17 and later (issue #54, pr #56, thanks @geghamyan).
- Fix cmake config file to use
@package_nspace@(nonstd-lite issue 68).
New Contributors
- @striezel made their first contribution in #44
- @musicinmybrain made their first contribution in #51
- @geghamyan made their first contribution in #57
- @MostafaNanticock made their first contribution in #55
Full Changelog: v2.0.0...v3.0.0