Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA]: Support cuda::std::optional<T&> #3518

Open
bernhardmgruber opened this issue Jan 24, 2025 · 0 comments
Open

[FEA]: Support cuda::std::optional<T&> #3518

bernhardmgruber opened this issue Jan 24, 2025 · 0 comments

Comments

@bernhardmgruber
Copy link
Contributor

thrust::optional supports references (thrust::optional<T&> works) while cuda::std::optional does not, since std::optional does also not support them. This is changing with P2988 which was designed approved in September 2024, but has not been voted into the C++ standard yet.

In #3307 we deprecated thrust::optional with a message pointing users to cuda::std::optional, and backported it to CCCL 2.8: #3393. However, now users see a deprecation warning pointing them to a less capable alternative. This should be fixed. As we want to remove thrust::optional, we should support cuda::std::optional<T&>. The question is when.

We only have limited time left to come up with an implementation and backport it to 2.8. It's more likely we can get it done for 3.0. However, this would leave users of CCCL 2.8 with a deprecation warning on thrust::optional<T&> with no alternative. Is this acceptable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant