@@ -310,7 +310,9 @@ struct unique_eager_future_promise_pair final
310310 weak_promise<X, XPointer> promise;
311311};
312312
313- struct acquired_stream final
313+ _CCCL_SUPPRESS_DEPRECATED_PUSH // for thrust::optional
314+
315+ struct acquired_stream final
314316{
315317 unique_stream stream;
316318 optional<std::size_t > const acquired_from;
@@ -340,6 +342,8 @@ inline _CCCL_HOST optional<unique_stream> try_acquire_stream(int device, unique_
340342template <typename X>
341343_CCCL_HOST optional<unique_stream> try_acquire_stream (int device, unique_eager_future<X>& parent) noexcept ;
342344
345+ _CCCL_SUPPRESS_DEPRECATED_POP
346+
343347template <typename ... Dependencies>
344348_CCCL_HOST acquired_stream acquire_stream (int device, Dependencies&... deps) noexcept ;
345349
@@ -744,8 +748,10 @@ public:
744748 stream ().wait ();
745749 }
746750
747- friend _CCCL_HOST optional<detail::unique_stream>
748- thrust::system::cuda::detail::try_acquire_stream (int device_id, unique_eager_event& parent) noexcept ;
751+ _CCCL_SUPPRESS_DEPRECATED_PUSH // for thrust::optional
752+ friend _CCCL_HOST optional<detail::unique_stream>
753+ thrust::system::cuda::detail::try_acquire_stream (int device_id, unique_eager_event& parent) noexcept ;
754+ _CCCL_SUPPRESS_DEPRECATED_POP
749755
750756 template <typename ... Dependencies>
751757 friend _CCCL_HOST unique_eager_event
@@ -902,9 +908,11 @@ public:
902908 }
903909# endif
904910
905- template <typename X>
906- friend _CCCL_HOST optional<detail::unique_stream>
907- thrust::system::cuda::detail::try_acquire_stream (int device_id, unique_eager_future<X>& parent) noexcept ;
911+ _CCCL_SUPPRESS_DEPRECATED_PUSH // for thrust::optional
912+ template <typename X>
913+ friend _CCCL_HOST optional<detail::unique_stream>
914+ thrust::system::cuda::detail::try_acquire_stream (int device_id, unique_eager_future<X>& parent) noexcept ;
915+ _CCCL_SUPPRESS_DEPRECATED_POP
908916
909917 template <typename X, typename XPointer, typename ComputeContent, typename ... Dependencies>
910918 friend _CCCL_HOST detail::unique_eager_future_promise_pair<X, XPointer>
@@ -917,9 +925,10 @@ public:
917925
918926namespace detail
919927{
928+ _CCCL_SUPPRESS_DEPRECATED_PUSH // for thrust::optional
920929
921- template <typename X, typename Deleter>
922- _CCCL_HOST optional<unique_stream> try_acquire_stream (int , std::unique_ptr<X, Deleter>&) noexcept
930+ template <typename X, typename Deleter>
931+ _CCCL_HOST optional<unique_stream> try_acquire_stream (int , std::unique_ptr<X, Deleter>&) noexcept
923932{
924933 // There's no stream to acquire!
925934 return {};
@@ -974,6 +983,8 @@ _CCCL_HOST optional<unique_stream> try_acquire_stream(int device_id, unique_eage
974983 return {};
975984}
976985
986+ _CCCL_SUPPRESS_DEPRECATED_POP
987+
977988// /////////////////////////////////////////////////////////////////////////////
978989
979990template <typename ... Dependencies>
@@ -988,7 +999,8 @@ template <typename... Dependencies, std::size_t I0, std::size_t... Is>
988999_CCCL_HOST acquired_stream
9891000acquire_stream_impl (int device_id, std::tuple<Dependencies...>& deps, index_sequence<I0, Is...>) noexcept
9901001{
991- auto tr = try_acquire_stream (device_id, std::get<I0>(deps));
1002+ _CCCL_SUPPRESS_DEPRECATED_PUSH // for thrust::optional (MSVC warnings here)
1003+ auto tr = try_acquire_stream (device_id, std::get<I0>(deps));
9921004
9931005 if (tr)
9941006 {
@@ -998,6 +1010,7 @@ acquire_stream_impl(int device_id, std::tuple<Dependencies...>& deps, index_sequ
9981010 {
9991011 return acquire_stream_impl (device_id, deps, index_sequence<Is...>{});
10001012 }
1013+ _CCCL_SUPPRESS_DEPRECATED_POP
10011014}
10021015
10031016template <typename ... Dependencies>
@@ -1044,10 +1057,12 @@ create_dependencies_impl(acquired_stream& as, std::tuple<Dependencies...>& deps,
10441057{
10451058 // We only need to wait on the current dependency if we didn't steal our
10461059 // stream from it.
1060+ _CCCL_SUPPRESS_DEPRECATED_PUSH
10471061 if (!as.acquired_from || *as.acquired_from != I0)
10481062 {
10491063 create_dependency (as.stream , std::get<I0>(deps));
10501064 }
1065+ _CCCL_SUPPRESS_DEPRECATED_POP
10511066
10521067 create_dependencies_impl (as, deps, index_sequence<Is...>{});
10531068}
0 commit comments