AK: VERIFY inside release_value_but_fixme_should_propagate_errors()

While the code did already VERIFY that the ErrorOr holds a value, this
was done by Variant, so the error message was just that `has<T>()` is
false. This is less helpful than I would like, especially if backtraces
are not working and this is all you have to go on. Adding this extra
VERIFY means the assertion message (`!is_error()`) is easier to
understand.
This commit is contained in:
Sam Atkins 2022-02-06 12:49:51 +00:00 committed by Tim Flynn
parent decdd6b61a
commit 1a4dd47d5f

View file

@ -87,7 +87,11 @@ public:
T release_value() { return move(value()); }
ErrorType release_error() { return move(error()); }
T release_value_but_fixme_should_propagate_errors() { return release_value(); }
T release_value_but_fixme_should_propagate_errors()
{
VERIFY(!is_error());
return release_value();
}
private:
// 'downcast' is fishy in this context. Let's hide it by making it private.