diff options
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/Completion.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/Completion.h b/Userland/Libraries/LibJS/Runtime/Completion.h index 5e857f1edb..52322e9b4c 100644 --- a/Userland/Libraries/LibJS/Runtime/Completion.h +++ b/Userland/Libraries/LibJS/Runtime/Completion.h @@ -49,6 +49,11 @@ public: { } + Completion(Completion const&) = default; + Completion& operator=(Completion const&) = default; + Completion(Completion&&) = default; + Completion& operator=(Completion&&) = default; + [[nodiscard]] Type type() const { return m_type; } [[nodiscard]] Optional<Value>& value() { return m_value; } [[nodiscard]] Optional<Value> const& value() const { return m_value; } @@ -112,6 +117,11 @@ public: VERIFY(!m_value->is_empty()); } + ThrowCompletionOr(ThrowCompletionOr const&) = default; + ThrowCompletionOr& operator=(ThrowCompletionOr const&) = default; + ThrowCompletionOr(ThrowCompletionOr&&) = default; + ThrowCompletionOr& operator=(ThrowCompletionOr&&) = default; + // Allows implicit construction of ThrowCompletionOr<T> from a type U if T(U) is a supported constructor. // Most commonly: Value from Object* or similar, so we can omit the curly braces from "return { TRY(...) };". // Disabled for POD types to avoid weird conversion shenanigans. |