# `explicit basic_result(basic_result<R, S, P> &&)`

Explicit converting move constructor from compatible `basic_result`. Calls `void on_result_move_construction(T *, U &&) noexcept` with `this` and the input.

Requires: `predicate::enable_make_exception_ptr_compatible_conversion<R, S, P>` is true.

Complexity: Same as for the move constructors of the underlying types. Constexpr, triviality and noexcept of underlying operations is propagated.

Guarantees: If an exception is thrown during the operation, the object is left in a partially completed state, as per the normal rules for the same operation on a `struct`.

Last revised: December 17, 2020 at 11:27:06 UTC