Open Bug 1631435 Opened 4 years ago Updated 3 years ago

IPDL: Resolver argument should be value or rvalue-reference, not a const reference

Categories

(Core :: IPC, defect, P5)

defect

Tracking

()

People

(Reporter: sg, Unassigned)

References

Details

Resolver arguments are generated as const&, but are moved afterwards, such that the move has no effect.

E.g. in https://searchfox.org/mozilla-central/source/__GENERATED__/ipc/ipdl/PMediaTransportParent.cpp#364

           GetIceLogResolver resolver = [this, self__, id__, seqno__](const WebrtcGlobalLog& aParam) {

and then in https://searchfox.org/mozilla-central/source/__GENERATED__/ipc/ipdl/PMediaTransportParent.cpp#371:

                loglines = std::move(aParam);

This is particularly unfortunate when aParam's type contains a FallibleTArray, which ought to be made non-copyable by Bug 1628692.

The priority flag is not set for this bug.
:jld, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jld)
Flags: needinfo?(jld)
Severity: -- → S4
Priority: -- → P5
Flags: needinfo?(jld)
You need to log in before you can comment on or make changes to this bug.