diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7ce9081..dfb30a7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a425224..16d0bec 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception --- # For most projects, this workflow file will not need changing; you simply need # to commit it to your repository. diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index 367b29d..c0d330e 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception name: Doxygen GitHub Pages Deploy Action on: diff --git a/.github/workflows/ossf-scorecard-analysis.yml b/.github/workflows/ossf-scorecard-analysis.yml index 0f0ad65..33cc8c4 100644 --- a/.github/workflows/ossf-scorecard-analysis.yml +++ b/.github/workflows/ossf-scorecard-analysis.yml @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception name: Scorecard analysis workflow on: push: diff --git a/README.md b/README.md index 002d004..ae7e3c3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception --> -![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg) ![Continuous Integration Tests](https://github.com/steve-downey/sandbox-expected/actions/workflows/ci_tests.yml/badge.svg) ![Lint Check (pre-commit)](https://github.com/steve-downey/sandbox-expected/actions/workflows/pre-commit-check.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/steve-downey/sandbox-expected/badge.svg?branch=main)](https://coveralls.io/github/steve-downey/sandbox-expected?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp29.svg) +[![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg)](https://github.com/bemanproject/beman/blob/main/docs/beman_library_maturity_model.md#the-beman-library-maturity-model) ![Continuous Integration Tests](https://github.com/steve-downey/sandbox-expected/actions/workflows/ci_tests.yml/badge.svg) ![Lint Check (pre-commit)](https://github.com/steve-downey/sandbox-expected/actions/workflows/pre-commit-check.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/steve-downey/sandbox-expected/badge.svg?branch=main)](https://coveralls.io/github/steve-downey/sandbox-expected?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp29.svg) `beman.expected` is a C++ library implementing the std::expected specification conforming to [The Beman Standard](https://github.com/bemanproject/beman/blob/main/docs/beman_standard.md). diff --git a/cmake/ci-clang-toolchain.cmake b/cmake/ci-clang-toolchain.cmake index 8158594..bc2a485 100644 --- a/cmake/ci-clang-toolchain.cmake +++ b/cmake/ci-clang-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/ci-clang-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang) diff --git a/cmake/clang-16-toolchain.cmake b/cmake/clang-16-toolchain.cmake index 4de4ca0..2a81ace 100644 --- a/cmake/clang-16-toolchain.cmake +++ b/cmake/clang-16-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/clang-16-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-16) diff --git a/cmake/clang-17-toolchain.cmake b/cmake/clang-17-toolchain.cmake index 549eb4b..a8d7465 100644 --- a/cmake/clang-17-toolchain.cmake +++ b/cmake/clang-17-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/clang-17-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-17) diff --git a/cmake/clang-18-toolchain.cmake b/cmake/clang-18-toolchain.cmake index ef6be51..b33f27e 100644 --- a/cmake/clang-18-toolchain.cmake +++ b/cmake/clang-18-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/clang-18-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-18) diff --git a/cmake/clang-19-toolchain.cmake b/cmake/clang-19-toolchain.cmake index 25e6fc1..30cdad9 100644 --- a/cmake/clang-19-toolchain.cmake +++ b/cmake/clang-19-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/clang-19-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-19) diff --git a/cmake/clang-flags.cmake b/cmake/clang-flags.cmake index 36ec05a..536896e 100644 --- a/cmake/clang-flags.cmake +++ b/cmake/clang-flags.cmake @@ -1,3 +1,6 @@ +# cmake/clang-flags.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_CXX_STANDARD 20) diff --git a/cmake/gcc-12-toolchain.cmake b/cmake/gcc-12-toolchain.cmake index 3c1bd8d..ea14b03 100644 --- a/cmake/gcc-12-toolchain.cmake +++ b/cmake/gcc-12-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-12-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/gcc-13-toolchain.cmake b/cmake/gcc-13-toolchain.cmake index 4dc22ee..6a84e80 100644 --- a/cmake/gcc-13-toolchain.cmake +++ b/cmake/gcc-13-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-13-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/gcc-14-toolchain.cmake b/cmake/gcc-14-toolchain.cmake index 8089027..d795a29 100644 --- a/cmake/gcc-14-toolchain.cmake +++ b/cmake/gcc-14-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-14-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/gcc-15-toolchain.cmake b/cmake/gcc-15-toolchain.cmake index 63874b3..c10d727 100644 --- a/cmake/gcc-15-toolchain.cmake +++ b/cmake/gcc-15-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-15-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/gcc-16-toolchain.cmake b/cmake/gcc-16-toolchain.cmake index 8dea3ff..ae1bb01 100644 --- a/cmake/gcc-16-toolchain.cmake +++ b/cmake/gcc-16-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-16-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/gcc-flags.cmake b/cmake/gcc-flags.cmake index 2debc9c..75df9d0 100644 --- a/cmake/gcc-flags.cmake +++ b/cmake/gcc-flags.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-flags.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_CXX_STANDARD 26) diff --git a/cmake/gcc-toolchain.cmake b/cmake/gcc-toolchain.cmake index 635c9d5..0fa7f37 100644 --- a/cmake/gcc-toolchain.cmake +++ b/cmake/gcc-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/gcc-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER gcc) diff --git a/cmake/llvm-16-toolchain.cmake b/cmake/llvm-16-toolchain.cmake index 317eb15..5752be4 100644 --- a/cmake/llvm-16-toolchain.cmake +++ b/cmake/llvm-16-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/llvm-16-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-16) diff --git a/cmake/llvm-master-toolchain.cmake b/cmake/llvm-master-toolchain.cmake index 9f1ff60..459ed09 100644 --- a/cmake/llvm-master-toolchain.cmake +++ b/cmake/llvm-master-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/llvm-master-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + set(LLVM_ROOT "$ENV{LLVM_ROOT}" CACHE PATH "Path to LLVM installation") set(CMAKE_C_COMPILER ${LLVM_ROOT}/bin/clang) diff --git a/cmake/llvm-toolchain.cmake b/cmake/llvm-toolchain.cmake index b0cbfbd..456b7d5 100644 --- a/cmake/llvm-toolchain.cmake +++ b/cmake/llvm-toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/llvm-toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) set(CMAKE_C_COMPILER clang-14) diff --git a/cmake/toolchain.cmake b/cmake/toolchain.cmake index 046d332..77475e2 100644 --- a/cmake/toolchain.cmake +++ b/cmake/toolchain.cmake @@ -1,3 +1,6 @@ +# cmake/toolchain.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/gcc-flags.cmake") diff --git a/cmake/use-fetch-content.cmake b/cmake/use-fetch-content.cmake index 407b660..9dc475d 100644 --- a/cmake/use-fetch-content.cmake +++ b/cmake/use-fetch-content.cmake @@ -1,3 +1,6 @@ +# cmake/use-fetch-content.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + cmake_minimum_required(VERSION 3.24) include(FetchContent) diff --git a/cmake/x64-linux-custom.cmake b/cmake/x64-linux-custom.cmake index 1d8ba8d..26fe71d 100644 --- a/cmake/x64-linux-custom.cmake +++ b/cmake/x64-linux-custom.cmake @@ -1,3 +1,6 @@ +# cmake/x64-linux-custom.cmake -*-cmake-*- +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + set(VCPKG_TARGET_ARCHITECTURE x64) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) diff --git a/examples/expected.cpp b/examples/expected.cpp index 538e906..ff4d48c 100644 --- a/examples/expected.cpp +++ b/examples/expected.cpp @@ -1,4 +1,5 @@ // examples/expected.cpp -*-C++-*- +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception #include int main(int /*argc*/, char** /*argv*/) { return 0; } diff --git a/papers/wg21-latex/README.md b/papers/wg21-latex/README.md index 670f835..2b497bd 100644 --- a/papers/wg21-latex/README.md +++ b/papers/wg21-latex/README.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions Compiling the paper requires a working LaTeX installation. See instructions for configuring your system at [C++ Standard Draft Sources](https://github.com/cplusplus/draft/blob/main/README.rst) -The papers/ subdirectory has the LaTeX souces for P2988 and the supporting macro definitions. To build, run +The papers/ subdirectory has the LaTeX sources for P2988 and the supporting macro definitions. To build, run ```shell make papers diff --git a/papers/wg21-latex/implementation.hpp b/papers/wg21-latex/implementation.hpp index 4c73798..a0dcc7c 100644 --- a/papers/wg21-latex/implementation.hpp +++ b/papers/wg21-latex/implementation.hpp @@ -1,3 +1,5 @@ +// papers/wg21-latex/implementation.hpp -*-C++-*- +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // ---------------------- // BASE AND DETAILS ELIDED // ---------------------- diff --git a/papers/wg21-latex/ldiff.sh b/papers/wg21-latex/ldiff.sh index 603e6e5..c10f595 100755 --- a/papers/wg21-latex/ldiff.sh +++ b/papers/wg21-latex/ldiff.sh @@ -1,4 +1,5 @@ #!/bin/env sh +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception export SAFECMDS=Rplus,Cpp,CppIII,opt,shl,shr,dcr,exor,bigoh,tilde,bitand,bitor,xor,rightshift,enternote,enterexample,exitexample,required,requires,effects,postconditions,postcondition,preconditions,precondition,returns,throws,default,complexity,remark,remarks,note,notes,realnote,realnotes,errors,sync,implimits,replaceable,exceptionsafety,returntype,cvalue,ctype,ctypes,dtype,ctemplate,templalias,xref,xsee,ntbs,ntmbs,ntwcs,ntcxvis,ntcxxxiis,expos,impdef,notdef,unspec,unspecbool,seebelow,unspecuniqtype,unspecalloctype,unun,change,rationale,effect,difficulty,howwide,uniquens,cv,seebelow diff --git a/papers/wg21-latex/xrefdelta.tex b/papers/wg21-latex/xrefdelta.tex index b0ed29a..cf5479a 100644 --- a/papers/wg21-latex/xrefdelta.tex +++ b/papers/wg21-latex/xrefdelta.tex @@ -454,7 +454,7 @@ % CWG 2843 removed [uaxid.def.rfmt] \removedxref{uaxid.def.rfmt} -% P3016R6 Resolve inconsistencies in begin/end for valarray and braced intializers +% P3016R6 Resolve inconsistencies in begin/end for valarray and braced initializers \removedxref{support.initlist.range} %%% Renamed sections. diff --git a/pyproject.toml b/pyproject.toml index 06c555a..4a17346 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,4 +15,4 @@ dev = [ ] [tool.codespell] -ignore-words-list = 'unexpect' +ignore-words-list = 'unexpect,fith,ist' diff --git a/tests/beman/expected/CMakeLists.txt b/tests/beman/expected/CMakeLists.txt index 6995659..3c7b049 100644 --- a/tests/beman/expected/CMakeLists.txt +++ b/tests/beman/expected/CMakeLists.txt @@ -122,247 +122,247 @@ macro(add_fail_test name source reason) endmacro() # Step 1 — unexpected ill-formed instantiations [expected.un.general] -add_fail_test(unexpected_array_fail unexpected_array_fail.cpp +add_fail_test(unexpected_array_fail unexpected_array_fail.test.cpp "E must not be an array type" ) -add_fail_test(unexpected_cvref_fail unexpected_cvref_fail.cpp +add_fail_test(unexpected_cvref_fail unexpected_cvref_fail.test.cpp "E must not be cv-qualified" ) -add_fail_test(unexpected_self_fail unexpected_self_fail.cpp +add_fail_test(unexpected_self_fail unexpected_self_fail.test.cpp "E must not be a specialization of unexpected" ) # Step 3 — expected ill-formed T/E [expected.object.general] -add_fail_test(expected_t_ref_fail expected_t_ref_fail.cpp +add_fail_test(expected_t_ref_fail expected_t_ref_fail.test.cpp "no default constructor|use of deleted function|call to deleted|attempting to reference" ) # Note: expected_e_ref_fail removed — expected is now valid via expected -add_fail_test(expected_t_array_fail expected_t_array_fail.cpp +add_fail_test(expected_t_array_fail expected_t_array_fail.test.cpp "T must not be an array type" ) # Step 3 — expected emplace Mandates: nothrow_constructible_v -add_fail_test(expected_emplace_throwing_fail expected_emplace_throwing_fail.cpp +add_fail_test(expected_emplace_throwing_fail expected_emplace_throwing_fail.test.cpp "is_nothrow_constructible|no matching overloaded function found" ) # Step 4 — expected ill-formed E [expected.void.general] # Note: expected_void_ref_fail.cpp is removed — expected is now valid via # the expected specialization added in Step 10. -add_fail_test(expected_void_array_fail expected_void_array_fail.cpp +add_fail_test(expected_void_array_fail expected_void_array_fail.test.cpp "E must not be an array type" ) # Step 5 — monadic Mandates [expected.object.monadic] -add_fail_test(and_then_wrong_error_type_fail and_then_wrong_error_type_fail.cpp +add_fail_test(and_then_wrong_error_type_fail and_then_wrong_error_type_fail.test.cpp "F must return expected with the same error_type" ) -add_fail_test(and_then_not_expected_fail and_then_not_expected_fail.cpp +add_fail_test(and_then_not_expected_fail and_then_not_expected_fail.test.cpp "F must return a specialization of expected" ) -add_fail_test(or_else_wrong_value_type_fail or_else_wrong_value_type_fail.cpp +add_fail_test(or_else_wrong_value_type_fail or_else_wrong_value_type_fail.test.cpp "F must return expected with the same value_type" ) -add_fail_test(transform_error_ref_result_fail transform_error_ref_result_fail.cpp +add_fail_test(transform_error_ref_result_fail transform_error_ref_result_fail.test.cpp "G must be an object type" ) # Step 6 — void monadic Mandates [expected.void.monadic] -add_fail_test(void_and_then_wrong_error_type_fail void_and_then_wrong_error_type_fail.cpp +add_fail_test(void_and_then_wrong_error_type_fail void_and_then_wrong_error_type_fail.test.cpp "F must return expected with the same error_type" ) -add_fail_test(void_or_else_wrong_value_type_fail void_or_else_wrong_value_type_fail.cpp +add_fail_test(void_or_else_wrong_value_type_fail void_or_else_wrong_value_type_fail.test.cpp "F must return expected with the same value_type" ) # Fix 1 — constraint 23.6: value ctor blocked for T=bool, U=expected specialization -add_fail_test(expected_bool_value_ctor_from_expected_fail expected_bool_value_ctor_from_expected_fail.cpp +add_fail_test(expected_bool_value_ctor_from_expected_fail expected_bool_value_ctor_from_expected_fail.test.cpp "no matching function|no matching constructor|no overloaded function could convert" ) # Fix 4 — Mandates: T must not be a specialization of unexpected -add_fail_test(expected_unexpected_value_type_fail expected_unexpected_value_type_fail.cpp +add_fail_test(expected_unexpected_value_type_fail expected_unexpected_value_type_fail.test.cpp "T must not be a specialization of unexpected" ) # Step 7 — expected reference specialization: constructor constraints -add_fail_test(expected_ref_temporary_fail expected_ref_temporary_fail.cpp +add_fail_test(expected_ref_temporary_fail expected_ref_temporary_fail.test.cpp "binding a temporary to T& creates a dangling reference|use of deleted function|call to deleted|no matching function|no matching constructor|no overloaded function could convert|attempting to reference" ) -add_fail_test(expected_ref_no_default_fail expected_ref_no_default_fail.cpp +add_fail_test(expected_ref_no_default_fail expected_ref_no_default_fail.test.cpp "no default constructor|use of deleted function|call to deleted|attempting to reference" ) -add_fail_test(expected_ref_inplace_value_fail expected_ref_inplace_value_fail.cpp +add_fail_test(expected_ref_inplace_value_fail expected_ref_inplace_value_fail.test.cpp "no in_place value constructor|use of deleted function|call to deleted|attempting to reference" ) # Step 8 — expected reference error: dangling prevention -add_fail_test(expected_ref_e_temporary_error_fail expected_ref_e_temporary_error_fail.cpp +add_fail_test(expected_ref_e_temporary_error_fail expected_ref_e_temporary_error_fail.test.cpp "cannot bind to non-const E&|use of deleted function|call to deleted|attempting to reference" ) -add_fail_test(expected_ref_e_const_lvalue_fail expected_ref_e_const_lvalue_fail.cpp +add_fail_test(expected_ref_e_const_lvalue_fail expected_ref_e_const_lvalue_fail.test.cpp "cannot bind to non-const E&|use of deleted function|call to deleted|attempting to reference" ) # Step 8 — expected: no constructor or assignment from unexpected # (would bind E& to storage inside the temporary unexpected — dangling) add_fail_test(expected_ref_e_construct_from_unexpected_fail - expected_ref_e_construct_from_unexpected_fail.cpp + expected_ref_e_construct_from_unexpected_fail.test.cpp "no constructor from unexpected|use of deleted function|call to deleted|invokes a deleted function|attempting to reference" ) add_fail_test(expected_ref_e_assign_unexpected_fail - expected_ref_e_assign_unexpected_fail.cpp + expected_ref_e_assign_unexpected_fail.test.cpp "no assignment from unexpected|use of deleted function|call to deleted|selected deleted operator|attempting to reference" ) # Step 7/8 parity — expected or_else value_type mandate (added in Step 8 review) -add_fail_test(expected_ref_or_else_wrong_value_type_fail expected_ref_or_else_wrong_value_type_fail.cpp +add_fail_test(expected_ref_or_else_wrong_value_type_fail expected_ref_or_else_wrong_value_type_fail.test.cpp "F must return expected with the same value_type" ) # Step 9 — expected dangling prevention and no-default constraint -add_fail_test(expected_ref_both_temporary_val_fail expected_ref_both_temporary_val_fail.cpp +add_fail_test(expected_ref_both_temporary_val_fail expected_ref_both_temporary_val_fail.test.cpp "binding a temporary to T& creates a dangling reference|use of deleted function|call to deleted|no matching function|no matching constructor|no overloaded function could convert|attempting to reference" ) -add_fail_test(expected_ref_both_temporary_err_fail expected_ref_both_temporary_err_fail.cpp +add_fail_test(expected_ref_both_temporary_err_fail expected_ref_both_temporary_err_fail.test.cpp "cannot bind to non-const E&|use of deleted function|call to deleted|attempting to reference" ) -add_fail_test(expected_ref_both_no_default_fail expected_ref_both_no_default_fail.cpp +add_fail_test(expected_ref_both_no_default_fail expected_ref_both_no_default_fail.test.cpp "no default constructor|use of deleted function|call to deleted|attempting to reference" ) # Step 9 — expected: no constructor or assignment from unexpected # (would bind E& to storage inside the temporary unexpected — dangling) add_fail_test(expected_ref_both_construct_from_unexpected_fail - expected_ref_both_construct_from_unexpected_fail.cpp + expected_ref_both_construct_from_unexpected_fail.test.cpp "no constructor from unexpected|use of deleted function|call to deleted|invokes a deleted function|attempting to reference" ) add_fail_test(expected_ref_both_assign_unexpected_fail - expected_ref_both_assign_unexpected_fail.cpp + expected_ref_both_assign_unexpected_fail.test.cpp "no assignment from unexpected|use of deleted function|call to deleted|selected deleted operator|attempting to reference" ) # Step 9 — expected: or_else value_type mandate add_fail_test(expected_ref_both_or_else_wrong_value_type_fail - expected_ref_both_or_else_wrong_value_type_fail.cpp + expected_ref_both_or_else_wrong_value_type_fail.test.cpp "F must return expected with the same value_type" ) # Step 7 — expected Mandates: E constraints -add_fail_test(expected_ref_e_ref_fail expected_ref_e_ref_fail.cpp +add_fail_test(expected_ref_e_ref_fail expected_ref_e_ref_fail.test.cpp "E must not be an rvalue reference" ) -add_fail_test(expected_ref_e_void_fail expected_ref_e_void_fail.cpp +add_fail_test(expected_ref_e_void_fail expected_ref_e_void_fail.test.cpp "E must not be void" ) -add_fail_test(expected_ref_e_array_fail expected_ref_e_array_fail.cpp +add_fail_test(expected_ref_e_array_fail expected_ref_e_array_fail.test.cpp "E must not be an array type" ) -add_fail_test(expected_ref_e_cv_fail expected_ref_e_cv_fail.cpp +add_fail_test(expected_ref_e_cv_fail expected_ref_e_cv_fail.test.cpp "E must not be cv-qualified" ) # Step 7 — expected monadic mandates add_fail_test(expected_ref_and_then_wrong_error_type_fail - expected_ref_and_then_wrong_error_type_fail.cpp + expected_ref_and_then_wrong_error_type_fail.test.cpp "F must return expected with the same error_type" ) add_fail_test(expected_ref_transform_error_ref_result_fail - expected_ref_transform_error_ref_result_fail.cpp + expected_ref_transform_error_ref_result_fail.test.cpp "G must be an object type" ) # Step 8 — expected Mandates: T and E type constraints add_fail_test(expected_ref_e_t_array_fail - expected_ref_e_t_array_fail.cpp + expected_ref_e_t_array_fail.test.cpp "T must not be an array type" ) add_fail_test(expected_ref_e_e_array_fail - expected_ref_e_e_array_fail.cpp + expected_ref_e_e_array_fail.test.cpp "E must not be an array type" ) add_fail_test(expected_ref_e_t_inplace_fail - expected_ref_e_t_inplace_fail.cpp + expected_ref_e_t_inplace_fail.test.cpp "T must not be in_place_t" ) add_fail_test(expected_ref_e_t_unexpect_fail - expected_ref_e_t_unexpect_fail.cpp + expected_ref_e_t_unexpect_fail.test.cpp "T must not be unexpect_t" ) add_fail_test(expected_ref_e_t_unexpected_fail - expected_ref_e_t_unexpected_fail.cpp + expected_ref_e_t_unexpected_fail.test.cpp "T must not be a specialization of unexpected" ) # Step 8 — expected monadic mandates add_fail_test(expected_ref_e_and_then_wrong_error_type_fail - expected_ref_e_and_then_wrong_error_type_fail.cpp + expected_ref_e_and_then_wrong_error_type_fail.test.cpp "F must return expected with the same error_type" ) add_fail_test(expected_ref_e_or_else_wrong_value_type_fail - expected_ref_e_or_else_wrong_value_type_fail.cpp + expected_ref_e_or_else_wrong_value_type_fail.test.cpp "F must return expected with the same value_type" ) add_fail_test(expected_ref_e_transform_error_ref_result_fail - expected_ref_e_transform_error_ref_result_fail.cpp + expected_ref_e_transform_error_ref_result_fail.test.cpp "G must be an object type" ) # Step 9 — expected Mandates: T and E type constraints add_fail_test(expected_ref_both_t_array_fail - expected_ref_both_t_array_fail.cpp + expected_ref_both_t_array_fail.test.cpp "T must not be an array type" ) add_fail_test(expected_ref_both_e_array_fail - expected_ref_both_e_array_fail.cpp + expected_ref_both_e_array_fail.test.cpp "E must not be an array type" ) add_fail_test(expected_ref_both_t_inplace_fail - expected_ref_both_t_inplace_fail.cpp + expected_ref_both_t_inplace_fail.test.cpp "T must not be in_place_t" ) add_fail_test(expected_ref_both_t_unexpect_fail - expected_ref_both_t_unexpect_fail.cpp + expected_ref_both_t_unexpect_fail.test.cpp "T must not be unexpect_t" ) add_fail_test(expected_ref_both_t_unexpected_fail - expected_ref_both_t_unexpected_fail.cpp + expected_ref_both_t_unexpected_fail.test.cpp "T must not be a specialization of unexpected" ) add_fail_test(expected_ref_both_inplace_value_fail - expected_ref_both_inplace_value_fail.cpp + expected_ref_both_inplace_value_fail.test.cpp "no in_place value constructor|use of deleted function|call to deleted|attempting to reference" ) # Step 9 — expected monadic mandates add_fail_test(expected_ref_both_and_then_wrong_error_type_fail - expected_ref_both_and_then_wrong_error_type_fail.cpp + expected_ref_both_and_then_wrong_error_type_fail.test.cpp "F must return expected with the same error_type" ) add_fail_test(expected_ref_both_transform_error_ref_result_fail - expected_ref_both_transform_error_ref_result_fail.cpp + expected_ref_both_transform_error_ref_result_fail.test.cpp "G must be an object type" ) # Step 10 — expected dangling prevention and no value_or add_fail_test(expected_void_ref_e_temporary_fail - expected_void_ref_e_temporary_fail.cpp + expected_void_ref_e_temporary_fail.test.cpp "cannot bind to non-const E&|use of deleted function|call to deleted|attempting to reference" ) add_fail_test(expected_void_ref_e_const_lvalue_fail - expected_void_ref_e_const_lvalue_fail.cpp + expected_void_ref_e_const_lvalue_fail.test.cpp "cannot bind to non-const E&|use of deleted function|call to deleted|attempting to reference" ) add_fail_test(expected_void_ref_e_no_value_or_fail - expected_void_ref_e_no_value_or_fail.cpp + expected_void_ref_e_no_value_or_fail.test.cpp "no value_or for void|use of deleted function|call to deleted|attempting to reference" ) add_fail_test(expected_void_ref_e_construct_from_unexpected_fail - expected_void_ref_e_construct_from_unexpected_fail.cpp + expected_void_ref_e_construct_from_unexpected_fail.test.cpp "no constructor from unexpected|use of deleted function|call to deleted|invokes a deleted function|attempting to reference" ) add_fail_test(expected_void_ref_e_assign_unexpected_fail - expected_void_ref_e_assign_unexpected_fail.cpp + expected_void_ref_e_assign_unexpected_fail.test.cpp "no assignment from unexpected|use of deleted function|call to deleted|invokes a deleted function|selected deleted operator|attempting to reference" ) diff --git a/tests/beman/expected/and_then_not_expected_fail.cpp b/tests/beman/expected/and_then_not_expected_fail.test.cpp similarity index 100% rename from tests/beman/expected/and_then_not_expected_fail.cpp rename to tests/beman/expected/and_then_not_expected_fail.test.cpp diff --git a/tests/beman/expected/and_then_wrong_error_type_fail.cpp b/tests/beman/expected/and_then_wrong_error_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/and_then_wrong_error_type_fail.cpp rename to tests/beman/expected/and_then_wrong_error_type_fail.test.cpp diff --git a/tests/beman/expected/expected_bool_value_ctor_from_expected_fail.cpp b/tests/beman/expected/expected_bool_value_ctor_from_expected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_bool_value_ctor_from_expected_fail.cpp rename to tests/beman/expected/expected_bool_value_ctor_from_expected_fail.test.cpp diff --git a/tests/beman/expected/expected_emplace_throwing_fail.cpp b/tests/beman/expected/expected_emplace_throwing_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_emplace_throwing_fail.cpp rename to tests/beman/expected/expected_emplace_throwing_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_and_then_wrong_error_type_fail.cpp b/tests/beman/expected/expected_ref_and_then_wrong_error_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_and_then_wrong_error_type_fail.cpp rename to tests/beman/expected/expected_ref_and_then_wrong_error_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_and_then_wrong_error_type_fail.cpp b/tests/beman/expected/expected_ref_both_and_then_wrong_error_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_and_then_wrong_error_type_fail.cpp rename to tests/beman/expected/expected_ref_both_and_then_wrong_error_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_assign_unexpected_fail.cpp b/tests/beman/expected/expected_ref_both_assign_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_assign_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_both_assign_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_construct_from_unexpected_fail.cpp b/tests/beman/expected/expected_ref_both_construct_from_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_construct_from_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_both_construct_from_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_e_array_fail.cpp b/tests/beman/expected/expected_ref_both_e_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_e_array_fail.cpp rename to tests/beman/expected/expected_ref_both_e_array_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_inplace_value_fail.cpp b/tests/beman/expected/expected_ref_both_inplace_value_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_inplace_value_fail.cpp rename to tests/beman/expected/expected_ref_both_inplace_value_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_no_default_fail.cpp b/tests/beman/expected/expected_ref_both_no_default_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_no_default_fail.cpp rename to tests/beman/expected/expected_ref_both_no_default_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_or_else_wrong_value_type_fail.cpp b/tests/beman/expected/expected_ref_both_or_else_wrong_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_or_else_wrong_value_type_fail.cpp rename to tests/beman/expected/expected_ref_both_or_else_wrong_value_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_t_array_fail.cpp b/tests/beman/expected/expected_ref_both_t_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_t_array_fail.cpp rename to tests/beman/expected/expected_ref_both_t_array_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_t_inplace_fail.cpp b/tests/beman/expected/expected_ref_both_t_inplace_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_t_inplace_fail.cpp rename to tests/beman/expected/expected_ref_both_t_inplace_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_t_unexpect_fail.cpp b/tests/beman/expected/expected_ref_both_t_unexpect_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_t_unexpect_fail.cpp rename to tests/beman/expected/expected_ref_both_t_unexpect_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_t_unexpected_fail.cpp b/tests/beman/expected/expected_ref_both_t_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_t_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_both_t_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_temporary_err_fail.cpp b/tests/beman/expected/expected_ref_both_temporary_err_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_temporary_err_fail.cpp rename to tests/beman/expected/expected_ref_both_temporary_err_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_temporary_val_fail.cpp b/tests/beman/expected/expected_ref_both_temporary_val_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_temporary_val_fail.cpp rename to tests/beman/expected/expected_ref_both_temporary_val_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_both_transform_error_ref_result_fail.cpp b/tests/beman/expected/expected_ref_both_transform_error_ref_result_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_both_transform_error_ref_result_fail.cpp rename to tests/beman/expected/expected_ref_both_transform_error_ref_result_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_and_then_wrong_error_type_fail.cpp b/tests/beman/expected/expected_ref_e_and_then_wrong_error_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_and_then_wrong_error_type_fail.cpp rename to tests/beman/expected/expected_ref_e_and_then_wrong_error_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_array_fail.cpp b/tests/beman/expected/expected_ref_e_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_array_fail.cpp rename to tests/beman/expected/expected_ref_e_array_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_assign_unexpected_fail.cpp b/tests/beman/expected/expected_ref_e_assign_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_assign_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_e_assign_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_const_lvalue_fail.cpp b/tests/beman/expected/expected_ref_e_const_lvalue_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_const_lvalue_fail.cpp rename to tests/beman/expected/expected_ref_e_const_lvalue_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_construct_from_unexpected_fail.cpp b/tests/beman/expected/expected_ref_e_construct_from_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_construct_from_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_e_construct_from_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_cv_fail.cpp b/tests/beman/expected/expected_ref_e_cv_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_cv_fail.cpp rename to tests/beman/expected/expected_ref_e_cv_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_e_array_fail.cpp b/tests/beman/expected/expected_ref_e_e_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_e_array_fail.cpp rename to tests/beman/expected/expected_ref_e_e_array_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_or_else_wrong_value_type_fail.cpp b/tests/beman/expected/expected_ref_e_or_else_wrong_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_or_else_wrong_value_type_fail.cpp rename to tests/beman/expected/expected_ref_e_or_else_wrong_value_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_ref_fail.cpp b/tests/beman/expected/expected_ref_e_ref_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_ref_fail.cpp rename to tests/beman/expected/expected_ref_e_ref_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_t_array_fail.cpp b/tests/beman/expected/expected_ref_e_t_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_t_array_fail.cpp rename to tests/beman/expected/expected_ref_e_t_array_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_t_inplace_fail.cpp b/tests/beman/expected/expected_ref_e_t_inplace_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_t_inplace_fail.cpp rename to tests/beman/expected/expected_ref_e_t_inplace_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_t_unexpect_fail.cpp b/tests/beman/expected/expected_ref_e_t_unexpect_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_t_unexpect_fail.cpp rename to tests/beman/expected/expected_ref_e_t_unexpect_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_t_unexpected_fail.cpp b/tests/beman/expected/expected_ref_e_t_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_t_unexpected_fail.cpp rename to tests/beman/expected/expected_ref_e_t_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_temporary_error_fail.cpp b/tests/beman/expected/expected_ref_e_temporary_error_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_temporary_error_fail.cpp rename to tests/beman/expected/expected_ref_e_temporary_error_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_transform_error_ref_result_fail.cpp b/tests/beman/expected/expected_ref_e_transform_error_ref_result_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_transform_error_ref_result_fail.cpp rename to tests/beman/expected/expected_ref_e_transform_error_ref_result_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_e_void_fail.cpp b/tests/beman/expected/expected_ref_e_void_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_e_void_fail.cpp rename to tests/beman/expected/expected_ref_e_void_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_inplace_value_fail.cpp b/tests/beman/expected/expected_ref_inplace_value_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_inplace_value_fail.cpp rename to tests/beman/expected/expected_ref_inplace_value_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_no_default_fail.cpp b/tests/beman/expected/expected_ref_no_default_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_no_default_fail.cpp rename to tests/beman/expected/expected_ref_no_default_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_or_else_wrong_value_type_fail.cpp b/tests/beman/expected/expected_ref_or_else_wrong_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_or_else_wrong_value_type_fail.cpp rename to tests/beman/expected/expected_ref_or_else_wrong_value_type_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_temporary_fail.cpp b/tests/beman/expected/expected_ref_temporary_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_temporary_fail.cpp rename to tests/beman/expected/expected_ref_temporary_fail.test.cpp diff --git a/tests/beman/expected/expected_ref_transform_error_ref_result_fail.cpp b/tests/beman/expected/expected_ref_transform_error_ref_result_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_ref_transform_error_ref_result_fail.cpp rename to tests/beman/expected/expected_ref_transform_error_ref_result_fail.test.cpp diff --git a/tests/beman/expected/expected_t_array_fail.cpp b/tests/beman/expected/expected_t_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_t_array_fail.cpp rename to tests/beman/expected/expected_t_array_fail.test.cpp diff --git a/tests/beman/expected/expected_t_ref_fail.cpp b/tests/beman/expected/expected_t_ref_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_t_ref_fail.cpp rename to tests/beman/expected/expected_t_ref_fail.test.cpp diff --git a/tests/beman/expected/expected_unexpected_value_type_fail.cpp b/tests/beman/expected/expected_unexpected_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_unexpected_value_type_fail.cpp rename to tests/beman/expected/expected_unexpected_value_type_fail.test.cpp diff --git a/tests/beman/expected/expected_void_array_fail.cpp b/tests/beman/expected/expected_void_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_array_fail.cpp rename to tests/beman/expected/expected_void_array_fail.test.cpp diff --git a/tests/beman/expected/expected_void_ref_e_assign_unexpected_fail.cpp b/tests/beman/expected/expected_void_ref_e_assign_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_ref_e_assign_unexpected_fail.cpp rename to tests/beman/expected/expected_void_ref_e_assign_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_void_ref_e_const_lvalue_fail.cpp b/tests/beman/expected/expected_void_ref_e_const_lvalue_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_ref_e_const_lvalue_fail.cpp rename to tests/beman/expected/expected_void_ref_e_const_lvalue_fail.test.cpp diff --git a/tests/beman/expected/expected_void_ref_e_construct_from_unexpected_fail.cpp b/tests/beman/expected/expected_void_ref_e_construct_from_unexpected_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_ref_e_construct_from_unexpected_fail.cpp rename to tests/beman/expected/expected_void_ref_e_construct_from_unexpected_fail.test.cpp diff --git a/tests/beman/expected/expected_void_ref_e_no_value_or_fail.cpp b/tests/beman/expected/expected_void_ref_e_no_value_or_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_ref_e_no_value_or_fail.cpp rename to tests/beman/expected/expected_void_ref_e_no_value_or_fail.test.cpp diff --git a/tests/beman/expected/expected_void_ref_e_temporary_fail.cpp b/tests/beman/expected/expected_void_ref_e_temporary_fail.test.cpp similarity index 100% rename from tests/beman/expected/expected_void_ref_e_temporary_fail.cpp rename to tests/beman/expected/expected_void_ref_e_temporary_fail.test.cpp diff --git a/tests/beman/expected/or_else_wrong_value_type_fail.cpp b/tests/beman/expected/or_else_wrong_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/or_else_wrong_value_type_fail.cpp rename to tests/beman/expected/or_else_wrong_value_type_fail.test.cpp diff --git a/tests/beman/expected/transform_error_ref_result_fail.cpp b/tests/beman/expected/transform_error_ref_result_fail.test.cpp similarity index 100% rename from tests/beman/expected/transform_error_ref_result_fail.cpp rename to tests/beman/expected/transform_error_ref_result_fail.test.cpp diff --git a/tests/beman/expected/unexpected_array_fail.cpp b/tests/beman/expected/unexpected_array_fail.test.cpp similarity index 100% rename from tests/beman/expected/unexpected_array_fail.cpp rename to tests/beman/expected/unexpected_array_fail.test.cpp diff --git a/tests/beman/expected/unexpected_cvref_fail.cpp b/tests/beman/expected/unexpected_cvref_fail.test.cpp similarity index 100% rename from tests/beman/expected/unexpected_cvref_fail.cpp rename to tests/beman/expected/unexpected_cvref_fail.test.cpp diff --git a/tests/beman/expected/unexpected_self_fail.cpp b/tests/beman/expected/unexpected_self_fail.test.cpp similarity index 100% rename from tests/beman/expected/unexpected_self_fail.cpp rename to tests/beman/expected/unexpected_self_fail.test.cpp diff --git a/tests/beman/expected/void_and_then_wrong_error_type_fail.cpp b/tests/beman/expected/void_and_then_wrong_error_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/void_and_then_wrong_error_type_fail.cpp rename to tests/beman/expected/void_and_then_wrong_error_type_fail.test.cpp diff --git a/tests/beman/expected/void_or_else_wrong_value_type_fail.cpp b/tests/beman/expected/void_or_else_wrong_value_type_fail.test.cpp similarity index 100% rename from tests/beman/expected/void_or_else_wrong_value_type_fail.cpp rename to tests/beman/expected/void_or_else_wrong_value_type_fail.test.cpp