Replace _cxxTypeCanOnlyMove with _cxxTypeNeedsMoveForSend
Categories
(Core :: IPC, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | affected |
People
(Reporter: peterv, Unassigned)
References
Details
Bug 1546356 added a _cxxTypeCanOnlyMove that's mostly identical to _cxxTypeNeedsMoveForSend. Nika asked me to replace it with _cxxTypeNeedsMoveForSend, but that causes a lot of changes to signatures for existing IPC methods, so I've decided to split it off into this bug. I have a partial patch for this.
Reporter | ||
Comment 1•6 years ago
|
||
The issue is that _cxxTypeNeedsMoveForSend seems to really return "can this type be moved". For example it returns true for Shmem (which can also be copied). However, when deciding whether to generate a copy constructor for a struct or union, we want to know whether the type can be copied at all (true for Shmem but false for ManagedEndpoint).
There's also confusing code like https://searchfox.org/mozilla-central/rev/66086345467c69685434dd1c5177b30a7511b1a5/ipc/ipdl/ipdl/lower.py#2713 which seems to skip generating move constructors and assignment operators in cases where _cxxTypeNeedsMoveForSend returns true.
Comment 2•6 years ago
|
||
The priority flag is not set for this bug.
:jld, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 3•6 years ago
|
||
I think Nika has a better idea of how to prioritize this.
Comment 4•5 years ago
|
||
If it's been waiting for ~2 months, it's probably safe to make it a P3 so I stop getting email about it.
Updated•2 years ago
|
Description
•