From e6a49a95e79e4f2f0c377a7022e514fb3e84f4ce Mon Sep 17 00:00:00 2001
From: Serhii Yaskovets <yaskovet@mpi-cbg.de>
Date: Mon, 10 Jul 2023 20:46:43 +0200
Subject: [PATCH] Fix splice operator= for memory_traits_inte

---
 src/DCPSE/DCPSE_op/DCPSE_op.hpp                          | 1 -
 src/Operators/Vector/cuda/vector_dist_operators_cuda.cuh | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/DCPSE/DCPSE_op/DCPSE_op.hpp b/src/DCPSE/DCPSE_op/DCPSE_op.hpp
index a3e4e596..1ff62bd3 100644
--- a/src/DCPSE/DCPSE_op/DCPSE_op.hpp
+++ b/src/DCPSE/DCPSE_op/DCPSE_op.hpp
@@ -400,7 +400,6 @@ public:
 
     template<typename r_type= typename std::remove_reference<decltype(o1.value(vect_dist_key_dx(0)))>::type>
     inline r_type value(const vect_dist_key_dx &key) const {
-        //typedef typename std::remove_reference<decltype(o1.value(key))>::type::blabla blabla;
 
         typename std::remove_reference<decltype(o1.value(key))>::type v_lap;
         v_lap = 0.0;
diff --git a/src/Operators/Vector/cuda/vector_dist_operators_cuda.cuh b/src/Operators/Vector/cuda/vector_dist_operators_cuda.cuh
index cce632d6..28cac205 100644
--- a/src/Operators/Vector/cuda/vector_dist_operators_cuda.cuh
+++ b/src/Operators/Vector/cuda/vector_dist_operators_cuda.cuh
@@ -56,7 +56,7 @@ struct pos_or_propL
 	}
 
 	//! return the value (position or property) of the particle k in the vector v
-	static inline auto value_type(vector && v, const vect_dist_key_dx & k) -> decltype(v.template getProp<prp>(k))
+	__device__ __host__ static inline auto value_type(vector && v, const vect_dist_key_dx & k) -> decltype(v.template getProp<prp>(k))
 	{
 		return v.template getProp<prp>(k);
 	}
@@ -386,7 +386,7 @@ struct vector_dist_op_compute_op<prp,false,comp_host>
 	template<unsigned int n, typename vector, typename expr>
 	static void compute_expr_slice(vector & v,expr & v_exp, int (& comp)[n])
 	{
-		typedef typename std::remove_const<typename std::remove_reference<decltype(pos_or_propL<vector,prp>::value_type(std::declval<vector>(),vect_dist_key_dx(0)))>::type>::type property_act;
+		typedef typename pos_or_propL<vector,prp>::property_act property_act;
 
 		v_exp.init();
 
-- 
GitLab