Skip to content

Releases: nonstd-lite/expected-lite

0.10.0

17 Nov 22:35

Choose a tag to compare

This release of expected-lite adds [[nodiscard]] also to expected<void,E>.

v0.9.0

24 Jun 10:27

Choose a tag to compare

Release 0.9.0 of expected lite introduces marking expected and bad_expected_access as [[nodiscard]] at default. This behaviour can be controlled via nsel_CONFIG_NO_NODISCARD, see section Configuration. See also Mark as [[nodiscard]] over at nonstd-lite project.

It contains the following:

Additions

Changes

  • Mark expected and bad_expected_access as [[nodiscard]] (default) (#74, thanks @Quuxplusone)
  • Target all versions of value() for suppression of MSVC warning C4702 (#81, thanks @rconde01).
  • Increment minimum required CMake version to 3.15 of 2020 (#71, thanks @oschonrock).
  • Remove unsupported C++98, C++03 from compilation script.
  • Introduce std11::addressof (#70, thanks @DNKpp).
  • In Readme, update sections 'Algorithms for unexpected_type' and A.2 'Expected lite test specification' (#67).
  • Update in-place version of make_unexpected, add it for use with std::expected, add test (#67).
  • Add inplace version of make_unexpected (#68, thanks @Leonezz).

Fixes

  • Readme: Fix link to license (#78, thanks @dennisschagt).
  • Fix failing MSVC build on GitHub Actions (#80, thanks @striezel).
  • Fix failing Clang builds on GitHub Actions (#79, thanks @striezel).
  • Fix Expected transform (#76, thanks @gogagum).
  • Only use [[maybe_unused]] with C++17 and later (#73).
  • Silence Visual C++ warning 'discarded return value' in expected.t.cpp(1347) (#74, thanks @Quuxplusone).
  • Replace deprecated .value() usage within expected's own code (#73, thanks @Quuxplusone).
  • Silence Clang warnings about unused variables. NFC (#73, thanks @Quuxplusone).
  • Make sure nsel_CONFIG_WIN32_LEAN_AND_MEAN and nsel_CONFIG_NO_EXCEPTIONS_SEH are defined (#69, thanks @Leonezz).
  • In in-place make_unexpected(), return unexpected created via std::move() (#67, thanks @Leonezz).

Full Changelog: v0.8.0...v0.9.0

0.8.0

05 Jun 21:24

Choose a tag to compare

Release 0.8.0 of expected lite contains the following.

Additions

  • Add make_unexpected() for use with std::expected (#66, thanks @psyinf)
  • Add unexpected_type (deprecated) for use with std::expected (#66, thanks @psyinf)
  • Add unexpected_type::error(), deprecate unexpected_type::value() (#66, thanks @psyinf)

Changes

  • Adapt test suite to use with std::expected.

Fixes

  • Fix definition of 'unit_select' in batch files.
  • Fix test suite's create_copyable() for use with std::expected (#66).

When std::expected is used for the implementation, the following are available via the nonstd namespace:

  • std::expected.
  • std::unexpected and alias unexpected_type.
  • std::bad_expected_access.
  • std::unexpect_t.
  • std::unexpect.
  • make_unexpected().

Full Changelog: v0.7.0...v0.8.0

0.7.0

02 Jun 10:32

Choose a tag to compare

Release 0.7.0 of expected lite contains the following.

Additions

  • Add CPack packaging (#57, thanks @KOLANICH).
  • Add monadic operations per P2505 (#60, thanks @szaszm)
  • Add reference for p2505, update table 'Comparison with like types' (#60).
  • Use -Dnsel_P2505R=0 to disable monadic operations (#61, addendum to #60, thanks @szaszm).

Changes

Fixes

Full Changelog: v0.6.3...v0.7.0

0.6.3

21 Mar 13:42

Choose a tag to compare

Release 0.6.3 of expected lite contains the following.

Fixes

  • Fix operator==() for void 'value' type (#51, thanks @Crzyrndm).
  • Fix disabling of swap() (#50, thanks @negatratoron).
  • Fix cmake config file to use @package_nspace@ (nonstd-lite-project 68).

Changes

  • Remove Travis CI configuration and badge (#55, thanks @striezel).
  • Do not cancel all jobs in a workflow if one fails. (#54, thanks @striezel).
  • Remove gcc 8 and clang 8, 9, 10 from GitHub CI matrix (nonstd-lite-project 69).
  • Add compilation and running test for C++20 to GCC and Clang (nonstd-lite-project 64).
  • Use toplevel unit_name (nonstd-lite-project 56).

0.6.2

07 Aug 11:27

Choose a tag to compare

Release 0.6.2 of expected lite contains the following.

Changes

0.6.1

27 Jun 08:16

Choose a tag to compare

Release 0.6.1 of expected lite fixes the version number (#47).

Files affected:

  • CMakeLists.txt
  • conanfile.py
  • expected.hpp

0.6.0

27 May 14:30
b78dd92

Choose a tag to compare

Release 0.6.0 of expected lite contains the following changes.

Additions:

  • Enable importing cmake targets from the build tree (#39, thanks @fbdtemme).
  • Add script tc-cl.bat. See also nonstd-lite-project issues 54.
  • Add nsel_CONFIG_NO_EXCEPTIONS_SEH configuration flag.
  • Update script and test for compilation without exceptions.
  • Add example/03-no-exceptions.cpp.
  • Introduce GitHub Actions CI.

Changes:

  • std::expected appears in C++23, not C++20 (#43, thanks @bigerl).
  • Allow to move-assign from move-only unexpected (#40).
  • Avoid warning -Wundef for _MSC_VER.
  • Change to use SEH at default with MSVC for no C++ exception case.
  • Replace _CPPUNWIND with _HAS_EXCEPTIONS (#27, thanks @DBJDBJ). See also nonstd-lite-project issue 48.
  • Handle lest test framework as system include to prevent warnings, use autoregister.
  • Update Readme guided by markdownlint.

Fixes:

  • Fix r-value ref miscompile on MSVC v19.22 (#41, thanks @jacobly0).
  • Fix concept checks in the assignment operators (#40, thanks @szaszm).

0.5.0

13 Nov 10:11

Choose a tag to compare

Release 0.5.0 of expected lite contains the following changes.

Additions:

  • Add tweak header support

Changes:

  • Change 'on conan' link to refer to conan center
  • Add .editorconfig
  • Add TortoiseGit integration with GitHub issues
  • Add build folder and IDE folders/files to .gitignore (.vs, .vscode, CodeBlocks)
  • Add Visual Studio 2019 to the Appveyor build matrix, nonstd lite project issue 47

Fixes:

  • Prevent detail::text() to be multiply defined (#37, thanks to @jorticus)

0.4.0

24 Apr 17:33

Choose a tag to compare

[to be expanded]

This release of expected lite tags its current state. It contains numerous changes and fixes.