summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibJS/Runtime/Completion.h10
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.