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

[BUG]: Thrust vector move ctor/assign/swap are not noexcept #1991

Open
1 task done
bernhardmgruber opened this issue Jul 15, 2024 · 0 comments
Open
1 task done

[BUG]: Thrust vector move ctor/assign/swap are not noexcept #1991

bernhardmgruber opened this issue Jul 15, 2024 · 0 comments
Labels
bug Something isn't working right. thrust For all items related to Thrust.

Comments

@bernhardmgruber
Copy link
Contributor

Is this a duplicate?

Type of Bug

Performance

Component

Thrust

Describe the bug

The move constructor and move assignment operators of Trust's vector types (host_vector, device_vector and vector_base) are not noexcept so their use in conjunction with the standard library may be unnecessarily pessimized (the standard library may copy types which's move operations are not noexcept to uphold exception safety guarantees). The same goes for the corresponding swap operations.

Furthermore, contiguous_storage only has a move assignment, but no move constructor, which is odd as well.

How to Reproduce

N/A

Expected behavior

N/A

Reproduction link

No response

Operating System

No response

nvidia-smi output

No response

NVCC version

No response

@bernhardmgruber bernhardmgruber added bug Something isn't working right. thrust For all items related to Thrust. labels Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working right. thrust For all items related to Thrust.
Projects
Status: Todo
Development

No branches or pull requests

1 participant