From 5bcd35b907d28433a9cd10ea4ef8ecfe9f90cc98 Mon Sep 17 00:00:00 2001 From: Sy Brand Date: Sat, 12 Jul 2025 10:23:59 +0100 Subject: [PATCH 1/3] Update cmake.yml --- .github/workflows/cmake.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 41f069a..ecb78d0 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -2,13 +2,13 @@ name: CMake on: push: - branches: [ "master", "actions" ] + branches: [ "master", "actions", "fix-ci" ] pull_request: branches: [ "master" ] jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 strategy: matrix: From c8a04300dac538b7ae6e907848593e785a8f0112 Mon Sep 17 00:00:00 2001 From: Sy Brand Date: Sat, 12 Jul 2025 10:42:15 +0100 Subject: [PATCH 2/3] Conditionally nodiscard --- include/tl/expected.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/tl/expected.hpp b/include/tl/expected.hpp index 876e594..a2c58f0 100644 --- a/include/tl/expected.hpp +++ b/include/tl/expected.hpp @@ -132,8 +132,14 @@ struct is_trivially_copy_constructible> : std::false_type {}; #define TL_EXPECTED_11_CONSTEXPR constexpr #endif +#if TL_CPLUSPLUS >= 201703L +#define TL_EXPECTED_NODISCARD [[nodiscard]] +#else +#define TL_EXPECTED_NODISCARD +#endif + namespace tl { -template class [[nodiscard]] expected; +template class TL_EXPECTED_NODISCARD expected; #ifndef TL_MONOSTATE_INPLACE_MUTEX #define TL_MONOSTATE_INPLACE_MUTEX @@ -1276,7 +1282,7 @@ private: /// has been destroyed. The initialization state of the contained object is /// tracked by the expected object. template -class [[nodiscard]] expected : +class TL_EXPECTED_NODISCARD expected : private detail::expected_move_assign_base, private detail::expected_delete_ctor_base, private detail::expected_delete_assign_base, From 28f9aa7b8c61c30b44dcb0d4688f5f6f6a67ad4f Mon Sep 17 00:00:00 2001 From: Sy Brand Date: Sat, 12 Jul 2025 11:08:53 +0100 Subject: [PATCH 3/3] Update cmake.yml --- .github/workflows/cmake.yml | 76 ++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index ecb78d0..efc0e23 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -23,24 +23,24 @@ jobs: include: - cxx: g++-4.8 - install: sudo apt install g++-4.8 + install: apt install g++-4.8 - cxx: g++-4.9 - install: sudo apt install g++-4.9 + install: apt install g++-4.9 - cxx: g++-5 - install: sudo apt install g++-5 + install: apt install g++-5 - cxx: g++-6 - install: sudo apt install g++-6 + install: apt install g++-6 - cxx: g++-7 - install: sudo apt install g++-7 + install: apt install g++-7 - cxx: g++-8 std: 11 - install: sudo apt install g++-8 + install: apt install g++-8 - cxx: g++-8 std: 14 - install: sudo apt install g++-8 + install: apt install g++-8 - cxx: g++-8 std: 17 - install: sudo apt install g++-8 + install: apt install g++-8 - cxx: g++-9 std: 14 - cxx: g++-9 @@ -51,76 +51,76 @@ jobs: std: 17 - cxx: g++-11 std: 14 - install: sudo apt install g++-11 + install: apt install g++-11 - cxx: g++-11 std: 17 - install: sudo apt install g++-11 + install: apt install g++-11 - cxx: g++-11 std: 20 - install: sudo apt install g++-11 + install: apt install g++-11 - cxx: clang++-3.5 - install: sudo apt install clang-3.5 + install: apt install clang-3.5 - cxx: clang++-3.6 - install: sudo apt install clang-3.6 + install: apt install clang-3.6 - cxx: clang++-3.7 - install: sudo apt install clang-3.7 + install: apt install clang-3.7 - cxx: clang++-3.8 - install: sudo apt install clang-3.8 + install: apt install clang-3.8 - cxx: clang++-3.9 - install: sudo apt install clang-3.9 + install: apt install clang-3.9 - cxx: clang++-4.0 - install: sudo apt install clang-4.0 + install: apt install clang-4.0 - cxx: clang++-5.0 - install: sudo apt install clang-5.0 + install: apt install clang-5.0 - cxx: clang++-6.0 - install: sudo apt install clang-6.0 + install: apt install clang-6.0 - cxx: clang++-7 - install: sudo apt install clang-7 + install: apt install clang-7 - cxx: clang++-8 - install: sudo apt install clang-8 + install: apt install clang-8 - cxx: clang++-9 - install: sudo apt install clang-9 + install: apt install clang-9 - cxx: clang++-10 - install: sudo apt install clang-10 + install: apt install clang-10 - cxx: clang++-11 - install: sudo apt install clang-11 + install: apt install clang-11 - cxx: clang++-6.0 std: 17 - install: sudo apt install clang-6.0 + install: apt install clang-6.0 - cxx: clang++-7 std: 17 - install: sudo apt install clang-7 + install: apt install clang-7 - cxx: clang++-8 std: 17 - install: sudo apt install clang-8 + install: apt install clang-8 - cxx: clang++-9 std: 17 - install: sudo apt install clang-9 + install: apt install clang-9 - cxx: clang++-10 std: 17 - install: sudo apt install clang-10 + install: apt install clang-10 - cxx: clang++-11 std: 17 - install: sudo apt install clang-11 + install: apt install clang-11 steps: - uses: actions/checkout@v4 - name: Setup Toolchain run: | - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ focal main' - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ focal universe' - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ xenial main' - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ xenial universe' - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic main' - sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic universe' - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ focal main' + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ focal universe' + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ xenial main' + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ xenial universe' + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic main' + apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic universe' + add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt update + apt update ${{matrix.install}} - name: Configure CMake