From Jason Turner

[expected.void.monadic]

Diff to HTML by rtfpessoa

tmp/tmpz4o0r1kn/{from.md → to.md} RENAMED
@@ -8,11 +8,11 @@ template<class F> constexpr auto and_then(F&& f) const &;
8
  Let `U` be `remove_cvref_t<invoke_result_t<F>>`.
9
 
10
  *Constraints:* `is_constructible_v<E, decltype(error())>>` is `true`.
11
 
12
  *Mandates:* `U` is a specialization of `expected` and
13
- `is_same_v<U::error_type, E>` is `true`.
14
 
15
  *Effects:* Equivalent to:
16
 
17
  ``` cpp
18
  if (has_value())
@@ -30,11 +30,11 @@ Let `U` be `remove_cvref_t<invoke_result_t<F>>`.
30
 
31
  *Constraints:* `is_constructible_v<E, decltype(std::move(error()))>` is
32
  `true`.
33
 
34
  *Mandates:* `U` is a specialization of `expected` and
35
- `is_same_v<U::error_type, E>` is `true`.
36
 
37
  *Effects:* Equivalent to:
38
 
39
  ``` cpp
40
  if (has_value())
@@ -49,11 +49,11 @@ template<class F> constexpr auto or_else(F&& f) const &;
49
  ```
50
 
51
  Let `G` be `remove_cvref_t<invoke_result_t<F, decltype(error())>>`.
52
 
53
  *Mandates:* `G` is a specialization of `expected` and
54
- `is_same_v<G::value_type, T>` is `true`.
55
 
56
  *Effects:* Equivalent to:
57
 
58
  ``` cpp
59
  if (has_value())
@@ -69,11 +69,11 @@ template<class F> constexpr auto or_else(F&& f) const &&;
69
 
70
  Let `G` be
71
  `remove_cvref_t<invoke_result_t<F, decltype(std::move(error()))>>`.
72
 
73
  *Mandates:* `G` is a specialization of `expected` and
74
- `is_same_v<G::value_type, T>` is `true`.
75
 
76
  *Effects:* Equivalent to:
77
 
78
  ``` cpp
79
  if (has_value())
 
8
  Let `U` be `remove_cvref_t<invoke_result_t<F>>`.
9
 
10
  *Constraints:* `is_constructible_v<E, decltype(error())>>` is `true`.
11
 
12
  *Mandates:* `U` is a specialization of `expected` and
13
+ `is_same_v<typename U::error_type, E>` is `true`.
14
 
15
  *Effects:* Equivalent to:
16
 
17
  ``` cpp
18
  if (has_value())
 
30
 
31
  *Constraints:* `is_constructible_v<E, decltype(std::move(error()))>` is
32
  `true`.
33
 
34
  *Mandates:* `U` is a specialization of `expected` and
35
+ `is_same_v<typename U::error_type, E>` is `true`.
36
 
37
  *Effects:* Equivalent to:
38
 
39
  ``` cpp
40
  if (has_value())
 
49
  ```
50
 
51
  Let `G` be `remove_cvref_t<invoke_result_t<F, decltype(error())>>`.
52
 
53
  *Mandates:* `G` is a specialization of `expected` and
54
+ `is_same_v<typename G::value_type, T>` is `true`.
55
 
56
  *Effects:* Equivalent to:
57
 
58
  ``` cpp
59
  if (has_value())
 
69
 
70
  Let `G` be
71
  `remove_cvref_t<invoke_result_t<F, decltype(std::move(error()))>>`.
72
 
73
  *Mandates:* `G` is a specialization of `expected` and
74
+ `is_same_v<typename G::value_type, T>` is `true`.
75
 
76
  *Effects:* Equivalent to:
77
 
78
  ``` cpp
79
  if (has_value())