FrameState no longer gets an implicit move constructor since r273929 because a custom destructor was added.
Created attachment 453106 [details] Patch
Comment on attachment 453106 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=453106&action=review > Source/WebKit/Shared/SessionState.h:93 > + FrameState(const FrameState&) = default; > + FrameState(FrameState&&) = default; > + FrameState& operator=(const FrameState&) = default; > + FrameState& operator=(FrameState&&) = default; I’d think we’d want the "main run loop" assertion on these other constructors too, maybe even the assignment operators, but sadly could not take advantage of the defaults then. Valuable to group these with the constructor/destructor pair, since we should delete them all at the same time.
Created attachment 453108 [details] Patch
(In reply to Darin Adler from comment #2) > Comment on attachment 453106 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=453106&action=review > > > Source/WebKit/Shared/SessionState.h:93 > > + FrameState(const FrameState&) = default; > > + FrameState(FrameState&&) = default; > > + FrameState& operator=(const FrameState&) = default; > > + FrameState& operator=(FrameState&&) = default; > > I’d think we’d want the "main run loop" assertion on these other > constructors too, maybe even the assignment operators, but sadly could not > take advantage of the defaults then. Valuable to group these with the > constructor/destructor pair, since we should delete them all at the same > time. I did the grouping as suggested. I am not convinced it is worth writing these by hand just to be able to add the threading assertion though.
I have no idea how important it is to get the threading assertion right so I don’t have much of an opinion; not sure what made us add that. But I do note that adding it to the default constructor and the destructor is an inconsistent choice since it affects *some* construction and *all* destruction. Oversights like that have been a problem for me before when hunting bugs.
Committed r290446 (247749@main): <https://commits.webkit.org/247749@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 453108 [details].
<rdar://problem/89431031>