auto operator=(const copy_on_write<T> & x) -> copy_on_write<T> & (1) auto operator=(copy_on_write<T> && x) -> copy_on_write<T> & (2) template <class U> auto operator=(U && x) -> disable_copy_assign<U> (3) (1) auto operator=(const copy_on_write<T> & x) -> copy_on_write<T> & MISSING Parameters const copy_on_write<T> & x (2) auto operator=(copy_on_write<T> && x) -> copy_on_write<T> & MISSING Parameters copy_on_write<T> && x (3) template <class U> auto operator=(U && x) -> disable_copy_assign<U> MISSING Parameters U && x