Skip to content
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
@alliepiper

Description

@alliepiper

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
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions