upcxx::rpc broken when mixing arguments of type T&& and dist_object&

Issue #361 resolved
john bachan created an issue

RPC callbacks which accept both a dist_object& and T&& (for T not trivially copyable) will not compile with an error approximating that T const& can't be passed into a T&&.

upcxx::dist_object<int> dob(0);
upcxx::rpc(0, [](dist_object<int>&, std::vector<int>&&) {}, dob, std::vector<int>{}); // DEATH

PR 178 explains the details, introduces a breaking test, and fixes the issue.

Comments (1)

  1. Log in to comment