From 0f90315583eecbfc7db3f07d5ae68e3dd668a055 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 09:02:09 +0000 Subject: [PATCH 1/2] Initial plan From aaf0723a724320ce98d34b614c2a2c8eaa9ff83b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 09:04:11 +0000 Subject: [PATCH 2/2] Fix CUDA 13.1 compile failure: use trailing return types for dependent name resolution In the 4 affected .inl files, the out-of-class operator= definitions used a leading return type that appears before the class scope qualifier. CUDA 13.1's cudafe++ has stricter dependent name resolution and doesn't match ComputeGraphVar>& against the declaration's ComputeGraphVar& where VarType is a dependent type alias. The fix uses trailing return types (auto ... -> ComputeGraphVar&) so that VarType is resolved within the class scope, matching the header declarations. Co-authored-by: MuGdxy <52098265+MuGdxy@users.noreply.github.com> --- src/muda/buffer/details/graph_buffer_2d_view.inl | 2 +- src/muda/buffer/details/graph_buffer_3d_view.inl | 2 +- src/muda/buffer/details/graph_buffer_view.inl | 2 +- src/muda/buffer/details/graph_var_view.inl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/muda/buffer/details/graph_buffer_2d_view.inl b/src/muda/buffer/details/graph_buffer_2d_view.inl index 17b40d59..e5268b69 100644 --- a/src/muda/buffer/details/graph_buffer_2d_view.inl +++ b/src/muda/buffer/details/graph_buffer_2d_view.inl @@ -7,7 +7,7 @@ MUDA_INLINE void ComputeGraphVar>::update(const RWView& view) m_value = view; } template -MUDA_INLINE ComputeGraphVar>& ComputeGraphVar>::operator=(const RWView& view) +MUDA_INLINE auto ComputeGraphVar>::operator=(const RWView& view) -> ComputeGraphVar& { update(view); return *this; diff --git a/src/muda/buffer/details/graph_buffer_3d_view.inl b/src/muda/buffer/details/graph_buffer_3d_view.inl index c466e138..eef136fa 100644 --- a/src/muda/buffer/details/graph_buffer_3d_view.inl +++ b/src/muda/buffer/details/graph_buffer_3d_view.inl @@ -7,7 +7,7 @@ MUDA_INLINE void ComputeGraphVar>::update(const RWView& view) m_value = view; } template -MUDA_INLINE ComputeGraphVar>& ComputeGraphVar>::operator=(const RWView& view) +MUDA_INLINE auto ComputeGraphVar>::operator=(const RWView& view) -> ComputeGraphVar& { update(view); return *this; diff --git a/src/muda/buffer/details/graph_buffer_view.inl b/src/muda/buffer/details/graph_buffer_view.inl index 00084c9b..f83f7a56 100644 --- a/src/muda/buffer/details/graph_buffer_view.inl +++ b/src/muda/buffer/details/graph_buffer_view.inl @@ -7,7 +7,7 @@ MUDA_INLINE void ComputeGraphVar>::update(const RWView& view) m_value = view; } template -MUDA_INLINE ComputeGraphVar>& ComputeGraphVar>::operator=(const RWView& view) +MUDA_INLINE auto ComputeGraphVar>::operator=(const RWView& view) -> ComputeGraphVar& { update(view); return *this; diff --git a/src/muda/buffer/details/graph_var_view.inl b/src/muda/buffer/details/graph_var_view.inl index a9c79c6e..b46824e0 100644 --- a/src/muda/buffer/details/graph_var_view.inl +++ b/src/muda/buffer/details/graph_var_view.inl @@ -7,7 +7,7 @@ MUDA_INLINE void ComputeGraphVar>::update(const RWView& view) m_value = view; } template -MUDA_INLINE ComputeGraphVar>& ComputeGraphVar>::operator=(const RWView& view) +MUDA_INLINE auto ComputeGraphVar>::operator=(const RWView& view) -> ComputeGraphVar& { update(view); return *this;