diff options
author | Bernard Normier <bernard@zeroc.com> | 2019-11-03 11:06:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-03 11:06:24 -0500 |
commit | 3981787ebd09050d461b7dad7c66d040b06abc0a (patch) | |
tree | 1eceacb4d90e9ef153f0d8e5fa4fa2c1b8940ffe /cpp/src | |
parent | Fixed dependency of ice-test.xcodeproj to not depend on carthage (diff) | |
download | ice-3981787ebd09050d461b7dad7c66d040b06abc0a.tar.bz2 ice-3981787ebd09050d461b7dad7c66d040b06abc0a.tar.xz ice-3981787ebd09050d461b7dad7c66d040b06abc0a.zip |
Move response, error and sent functions given to the client Async API (#610)
instead of copying them.
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index ce8b0c040a2..49e0e1f3eff 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -7194,7 +7194,10 @@ Slice::Gen::Cpp11ProxyVisitor::visitOperation(const OperationPtr& p) H << nl << "return _makeLamdaOutgoing<" << futureT << ">" << spar; - H << (futureOutParams.size() > 1 ? "_responseCb" : responseParam) << exParam << sentParam << "this"; + H << "std::move(" + (futureOutParams.size() > 1 ? "_responseCb" : responseParam) + ")" + << "std::move(" + exParam + ")" + << "std::move(" + sentParam + ")" + << "this"; H << string("&" + getUnqualified(scoped, clScope.substr(2)) + "_iceI_" + name); for(ParamDeclList::const_iterator q = inParams.begin(); q != inParams.end(); ++q) { |