From 68536ef405005dacaf51ef59fbe67d87fb33535e Mon Sep 17 00:00:00 2001
From: pv42 <pv42.97@gmail.com>
Date: Wed, 4 Sep 2024 11:57:36 +0200
Subject: [PATCH] fix: add Send marker to AsyncMavConnection for rust 1.70

---
 mavlink-core/src/async_connection/file.rs | 2 +-
 mavlink-core/src/async_connection/mod.rs  | 2 +-
 mavlink-core/src/async_connection/tcp.rs  | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/mavlink-core/src/async_connection/file.rs b/mavlink-core/src/async_connection/file.rs
index 9b1c90a..8522736 100644
--- a/mavlink-core/src/async_connection/file.rs
+++ b/mavlink-core/src/async_connection/file.rs
@@ -36,7 +36,7 @@ pub struct AsyncFileConnection {
 }
 
 #[async_trait::async_trait]
-impl<M: Message + Sync> AsyncMavConnection<M> for AsyncFileConnection {
+impl<M: Message + Sync + Send> AsyncMavConnection<M> for AsyncFileConnection {
     async fn recv(&self) -> Result<(MavHeader, M), crate::error::MessageReadError> {
         let mut file = self.file.lock().await;
 
diff --git a/mavlink-core/src/async_connection/mod.rs b/mavlink-core/src/async_connection/mod.rs
index ed727ec..a708a67 100644
--- a/mavlink-core/src/async_connection/mod.rs
+++ b/mavlink-core/src/async_connection/mod.rs
@@ -15,7 +15,7 @@ use crate::SigningConfig;
 
 /// An async MAVLink connection
 #[async_trait::async_trait]
-pub trait AsyncMavConnection<M: Message + Sync> {
+pub trait AsyncMavConnection<M: Message + Sync + Send> {
     /// Receive a mavlink message.
     ///
     /// Wait until a valid frame is received, ignoring invalid messages.
diff --git a/mavlink-core/src/async_connection/tcp.rs b/mavlink-core/src/async_connection/tcp.rs
index e05d704..e8171c7 100644
--- a/mavlink-core/src/async_connection/tcp.rs
+++ b/mavlink-core/src/async_connection/tcp.rs
@@ -17,7 +17,7 @@ use crate::{
 
 /// TCP MAVLink connection
 
-pub async fn select_protocol<M: Message + Sync>(
+pub async fn select_protocol<M: Message + Sync + Send>(
     address: &str,
 ) -> io::Result<Box<dyn AsyncMavConnection<M> + Sync + Send>> {
     let connection = if let Some(address) = address.strip_prefix("tcpout:") {
@@ -97,7 +97,7 @@ struct TcpWrite {
 }
 
 #[async_trait::async_trait]
-impl<M: Message + Sync> AsyncMavConnection<M> for TcpConnection {
+impl<M: Message + Sync + Send> AsyncMavConnection<M> for TcpConnection {
     async fn recv(&self) -> Result<(MavHeader, M), crate::error::MessageReadError> {
         let mut reader = self.reader.lock().await;
         #[cfg(not(feature = "signing"))]
-- 
GitLab