This repository was archived by the owner on Mar 21, 2024. It is now read-only.
This repository was archived by the owner on Mar 21, 2024. It is now read-only.
Make async algorithms C++14-only #1224
Closed
Description
To summarize discussion with @brycelelbach and @griwes at today's meeting:
The entry points for the async algorithms currently use C++11 return type deduction syntax with a trailing -> decltype(expr)
. This is problematic because decltype(expr)
is a SFINAE context, and nvcc gives unclear diagnostics when these functions are called with bad arguments because the overloads are removed via SFINAE.
Since the thrust::async
algorithms are new and aren't yet widely used, they will be moved from C++11-only to C++14-only. This will allow us to use C++14 return type deduction, which eliminates the need for the trailing -> decltype(expr)
SFINAE context and gives better diagnostics from nvcc.
This will be finished before adding new async algorithms.
Metadata
Metadata
Assignees
Labels
No labels