Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Make async algorithms C++14-only #1224

Closed
alliepiper opened this issue Jul 8, 2020 · 0 comments
Closed

Make async algorithms C++14-only #1224

alliepiper opened this issue Jul 8, 2020 · 0 comments
Assignees

Comments

@alliepiper
Copy link
Collaborator

alliepiper commented Jul 8, 2020

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.

@alliepiper alliepiper self-assigned this Jul 8, 2020
alliepiper added a commit to alliepiper/thrust that referenced this issue Jul 29, 2020
alliepiper added a commit to alliepiper/thrust that referenced this issue Jul 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant