From Jason Turner

[expected.object.assign]

Diff to HTML by rtfpessoa

tmp/tmpz86pc3v_/{from.md → to.md} RENAMED
@@ -1,8 +1,9 @@
1
  #### Assignment <a id="expected.object.assign">[[expected.object.assign]]</a>
2
 
3
- This subclause makes use of the following exposition-only function:
 
4
 
5
  ``` cpp
6
  template<class T, class U, class... Args>
7
  constexpr void reinit-expected(T& newval, U& oldval, Args&&... args) { // exposition only
8
  if constexpr (is_nothrow_constructible_v<T, Args...>) {
@@ -95,11 +96,11 @@ Then, if no exception was thrown, equivalent to:
95
  is_nothrow_move_assignable_v<T> && is_nothrow_move_constructible_v<T> &&
96
  is_nothrow_move_assignable_v<E> && is_nothrow_move_constructible_v<E>
97
  ```
98
 
99
  ``` cpp
100
- template<class U = T>
101
  constexpr expected& operator=(U&& v);
102
  ```
103
 
104
  *Constraints:*
105
 
 
1
  #### Assignment <a id="expected.object.assign">[[expected.object.assign]]</a>
2
 
3
+ This subclause makes use of the following exposition-only function
4
+ template:
5
 
6
  ``` cpp
7
  template<class T, class U, class... Args>
8
  constexpr void reinit-expected(T& newval, U& oldval, Args&&... args) { // exposition only
9
  if constexpr (is_nothrow_constructible_v<T, Args...>) {
 
96
  is_nothrow_move_assignable_v<T> && is_nothrow_move_constructible_v<T> &&
97
  is_nothrow_move_assignable_v<E> && is_nothrow_move_constructible_v<E>
98
  ```
99
 
100
  ``` cpp
101
+ template<class U = remove_cv_t<T>>
102
  constexpr expected& operator=(U&& v);
103
  ```
104
 
105
  *Constraints:*
106