Skip to content

Commit a597970

Browse files
committed
improve result class constraints
1 parent 85b131c commit a597970

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

include/common/result.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ namespace zest {
1414
* @tparam E "error" type
1515
*/
1616
template<typename T, typename E>
17+
requires(!std::convertible_to<T, E>) && (!std::convertible_to<E, T>)
1718
class Result {
1819
public:
1920
using ErrorT = E;
@@ -56,6 +57,7 @@ class Result {
5657
* - T must be default initializable
5758
*/
5859
template<typename F>
60+
requires std::constructible_from<E, F&&>
5961
constexpr Result(F&& error)
6062
requires std::default_initializable<T>
6163
: error(std::forward<F>(error)) {}

0 commit comments

Comments
 (0)