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

LibJS+Everywhere: Return strings by value from PrimitiveString

It turns out return a ThrowCompletionOr<T const&> is flawed, as the GCC
expansion trick used with TRY will always make a copy. PrimitiveString
is luckily the only such use case.
This commit is contained in:
Timothy Flynn 2023-01-13 15:33:31 -05:00 committed by Tim Flynn
parent 9a120d7243
commit a59ebdac2d
10 changed files with 22 additions and 21 deletions

View file

@ -34,10 +34,10 @@ public:
bool is_empty() const;
u32 hash() const;
ThrowCompletionOr<DeprecatedString const&> deprecated_string() const;
ThrowCompletionOr<DeprecatedString> deprecated_string() const;
bool has_utf8_string() const { return m_utf8_string.has_value(); }
ThrowCompletionOr<Utf16String const&> utf16_string() const;
ThrowCompletionOr<Utf16String> utf16_string() const;
ThrowCompletionOr<Utf16View> utf16_string_view() const;
bool has_utf16_string() const { return m_utf16_string.has_value(); }