mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 20:29:18 +00:00
AK: Really disallow making OwnPtrs from refcounted types
This looks at three things: - if the type has a typedef `AllowOwnPtr', respect that - if not, disallow construction if both of `ref()' and `unref()' are present. Note that in the second case, if a type only defines `ref()' or only defines `unref()', an OwnPtr can be created, as a RefPtr of that type would be ill-formed. Also marks a `Performance' to explicitly allow OwnPtrs.
This commit is contained in:
parent
565a26808d
commit
060ddd2a7a
Notes:
sideshowbarker
2024-07-19 01:34:11 +09:00
Author: https://github.com/alimpfard
Commit: 060ddd2a7a
Pull-request: https://github.com/SerenityOS/serenity/pull/3936
4 changed files with 9 additions and 2 deletions
|
@ -65,6 +65,7 @@ class RefCountedBase {
|
|||
|
||||
public:
|
||||
typedef unsigned int RefCountType;
|
||||
using AllowOwnPtr = FalseType;
|
||||
|
||||
ALWAYS_INLINE void ref() const
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue