1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:47:35 +00:00

LibJS: Do not refer to moved-from completions / values

In the ThrowCompletionOr constructors, the VERIFY statements are using
moved-from objects. We should not rely on those objects still being
valid after being moved.
This commit is contained in:
Timothy Flynn 2022-02-10 07:30:51 -05:00 committed by Linus Groh
parent 821ae3a479
commit a78058bc79

View file

@ -101,7 +101,7 @@ public:
ThrowCompletionOr(Completion throw_completion)
: m_throw_completion(move(throw_completion))
{
VERIFY(throw_completion.is_error());
VERIFY(m_throw_completion->is_error());
}
// Not `explicit` on purpose so that `return value;` is possible.
@ -109,7 +109,7 @@ public:
: m_value(move(value))
{
if constexpr (IsSame<ValueType, Value>)
VERIFY(!value.is_empty());
VERIFY(!m_value->is_empty());
}
// Allows implicit construction of ThrowCompletionOr<T> from a type U if T(U) is a supported constructor.