Initial Android MLS bindings #144
Annotations
8 errors and 5 warnings
the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied:
src/lib.rs#L194
error[E0599]: the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:197:1
|
197 | / pin_project! {
198 | | /// Compatibility adapter for futures and I/O types.
199 | | pub struct Compat<T> {
200 | | #[pin]
... |
214 | | }
215 | | }
| |_- doesn't satisfy `_: Send`
|
= note: the full type name has been written to '/home/runner/work/libxmtp/libxmtp/bindings_ffi/target/debug/deps/xmtpv3-b9a7b3912c1a8159.long-type-5443292706231645001.txt'
= note: the following trait bounds were not satisfied:
`uniffi::deps::async_compat::Compat<impl std::future::Future<Output = std::result::Result<(), GenericError>>>: std::marker::Send`
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
`std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely:
src/lib.rs#L194
error[E0277]: `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
|
= help: within `xmtp_mls::storage::db_connection::DbConnection<'_>`, the trait `std::marker::Sync` is not implemented for `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>`
= note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
note: required because it appears within the type `DbConnection<'_>`
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/storage/encrypted_store/db_connection.rs:14:12
|
14 | pub struct DbConnection<'a> {
| ^^^^^^^^^^^^
= note: required for `&xmtp_mls::storage::db_connection::DbConnection<'_>` to implement `std::marker::Send`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:504:94
|
504 | async fn sync_with_conn<'a>(&self, conn: &'a DbConnection<'a>) -> Result<(), GroupError> {
| ______________________________________________________________________________________________^
505 | | self.publish_intents(conn).await?;
506 | | if let Err(e) = self.receive().await {
507 | | log::warn!("receive error {:?}", e);
... |
511 | | Ok(())
512 | | }
| |_____^
= note: required because it captures the following types: `xmtp_mls::storage::db_connection::DbConnection<'_>`, `xmtp_mls::storage::group_intent::NewGroupIntent`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:464:33
|
464 | ) -> Result<(), GroupError> {
| _________________________________^
465 | | let conn = &mut self.client.store.conn()?;
466 | | let intent_data: Vec<u8> = RemoveMembersIntentData::new(installation_ids).into();
467 | | let intent = NewGroupIntent::new(
... |
474 | | self.sync_with_conn(conn).await
475 | | }
| |_____^
= note: required because it captures the following types: `std::vec::Vec<std::string::String>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:477:97
|
477 | pub async fn remove_members(&self, wallet_addresses: Vec<String>) -> Result<(), GroupError> {
| _________________________________________________________________________________________________^
478 | | let installation_ids = self
479 | | .members()?
480 | | .into_iter()
... |
488 | | .await
489 | | }
| |_____^
= note: required because it captures the following types: `xmtp_mls::groups::MlsGroup<'_, xmtp_api_grpc::Client>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> src/lib.rs:240:100
|
240 | pub async fn remove_members(&self, account_addresses: Vec<String>) -> Result<(), GenericError> {
| ____________________________________________________________________________________________________^
241 | | let group = MlsGroup::new(
242 | | self.inner_client.as_ref(),
243 | | self.group_id.clone(),
... |
249 | | Ok(())
250 | | }
| |_____^
note: required because it appears within the type `Option<impl Future<Output = Result<(), GenericError>>>`
--> /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:563:10
note: required because it appears within the type `Compat<impl Future<Output = Result<(), GenericError>>>`
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:199:16
|
199 | pub struct Compat<T> {
| ^^^^^^
note: required by a bound in `uniffi::RustFuture::<F, T, UT>::new`
--> /home/runner/.cargo/git/checkouts/uniffi-rs-6f89edd2a1ffa4bd/cae8edc/uniffi_core/src/ffi/rustfuture.rs:181:29
|
181 | F: Future<Output = T> + Send,
| ^^^^ required by this bound in `RustFuture::<F, T, UT>::new`
...
184 | pub fn new(
| --- required by a bound in this associated function
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied:
src/lib.rs#L194
error[E0599]: the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:197:1
|
197 | / pin_project! {
198 | | /// Compatibility adapter for futures and I/O types.
199 | | pub struct Compat<T> {
200 | | #[pin]
... |
214 | | }
215 | | }
| |_- doesn't satisfy `_: Send`
|
= note: the full type name has been written to '/home/runner/work/libxmtp/libxmtp/bindings_ffi/target/debug/deps/xmtpv3-b9a7b3912c1a8159.long-type-13881689300586371377.txt'
= note: the following trait bounds were not satisfied:
`uniffi::deps::async_compat::Compat<impl std::future::Future<Output = std::result::Result<(), GenericError>>>: std::marker::Send`
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
`std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely:
src/lib.rs#L194
error[E0277]: `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
|
= help: within `xmtp_mls::storage::db_connection::DbConnection<'_>`, the trait `std::marker::Sync` is not implemented for `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>`
= note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
note: required because it appears within the type `DbConnection<'_>`
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/storage/encrypted_store/db_connection.rs:14:12
|
14 | pub struct DbConnection<'a> {
| ^^^^^^^^^^^^
= note: required for `&xmtp_mls::storage::db_connection::DbConnection<'_>` to implement `std::marker::Send`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:504:94
|
504 | async fn sync_with_conn<'a>(&self, conn: &'a DbConnection<'a>) -> Result<(), GroupError> {
| ______________________________________________________________________________________________^
505 | | self.publish_intents(conn).await?;
506 | | if let Err(e) = self.receive().await {
507 | | log::warn!("receive error {:?}", e);
... |
511 | | Ok(())
512 | | }
| |_____^
= note: required because it captures the following types: `&xmtp_mls::groups::MlsGroup<'_, xmtp_api_grpc::Client>`, `&mut xmtp_mls::storage::db_connection::DbConnection<'_>`, `xmtp_mls::storage::db_connection::DbConnection<'_>`, `impl std::future::Future<Output = std::result::Result<std::vec::Vec<xmtp_mls::verified_key_package::VerifiedKeyPackage>, xmtp_mls::client::ClientError>>`, `xmtp_mls::storage::group_intent::NewGroupIntent`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:430:94
|
430 | pub async fn add_members(&self, wallet_addresses: Vec<String>) -> Result<(), GroupError> {
| ______________________________________________________________________________________________^
431 | | let conn = &mut self.client.store.conn()?;
432 | | let key_packages = self
433 | | .client
... |
441 | | self.sync_with_conn(conn).await
442 | | }
| |_____^
= note: required because it captures the following types: `xmtp_mls::groups::MlsGroup<'_, xmtp_api_grpc::Client>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> src/lib.rs:228:97
|
228 | pub async fn add_members(&self, account_addresses: Vec<String>) -> Result<(), GenericError> {
| _________________________________________________________________________________________________^
229 | | let group = MlsGroup::new(
230 | | self.inner_client.as_ref(),
231 | | self.group_id.clone(),
... |
237 | | Ok(())
238 | | }
| |_____^
note: required because it appears within the type `Option<impl Future<Output = Result<(), GenericError>>>`
--> /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:563:10
note: required because it appears within the type `Compat<impl Future<Output = Result<(), GenericError>>>`
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:199:16
|
199 | pub struct Compat<T> {
| ^^^^^^
note: required by a bound in `uniffi::RustFuture::<F, T, UT>::new`
--> /home/runner/.cargo/git/checkouts/uniffi-rs-6f89edd2a1ffa4bd/cae8edc/uniffi_core/src/ffi/rustfuture.rs:181:29
|
181 | F: Future<Output = T> + Send,
| ^^^^ required by this bound in `RustFuture::<F, T, UT>::new`
...
184 | pub fn new(
| --- required by a bound in this associated function
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<Vec<FfiMessage>, GenericError>>>, ..., ...>>>`, but its trait bounds were not satisfied:
src/lib.rs#L194
error[E0599]: the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<Vec<FfiMessage>, GenericError>>>, ..., ...>>>`, but its trait bounds were not satisfied
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:197:1
|
197 | / pin_project! {
198 | | /// Compatibility adapter for futures and I/O types.
199 | | pub struct Compat<T> {
200 | | #[pin]
... |
214 | | }
215 | | }
| |_- doesn't satisfy `_: Send`
|
= note: the full type name has been written to '/home/runner/work/libxmtp/libxmtp/bindings_ffi/target/debug/deps/xmtpv3-b9a7b3912c1a8159.long-type-8609693087777595428.txt'
= note: the following trait bounds were not satisfied:
`uniffi::deps::async_compat::Compat<impl std::future::Future<Output = std::result::Result<std::vec::Vec<FfiMessage>, GenericError>>>: std::marker::Send`
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
`std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely:
src/lib.rs#L194
error[E0277]: `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
|
= help: within `xmtp_mls::storage::db_connection::DbConnection<'_>`, the trait `std::marker::Sync` is not implemented for `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>`
= note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
note: required because it appears within the type `DbConnection<'_>`
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/storage/encrypted_store/db_connection.rs:14:12
|
14 | pub struct DbConnection<'a> {
| ^^^^^^^^^^^^
= note: required for `&xmtp_mls::storage::db_connection::DbConnection<'_>` to implement `std::marker::Send`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:504:94
|
504 | async fn sync_with_conn<'a>(&self, conn: &'a DbConnection<'a>) -> Result<(), GroupError> {
| ______________________________________________________________________________________________^
505 | | self.publish_intents(conn).await?;
506 | | if let Err(e) = self.receive().await {
507 | | log::warn!("receive error {:?}", e);
... |
511 | | Ok(())
512 | | }
| |_____^
= note: required because it captures the following types: `xmtp_mls::storage::db_connection::DbConnection<'_>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:499:56
|
499 | pub async fn sync(&self) -> Result<(), GroupError> {
| ________________________________________________________^
500 | | let conn = &mut self.client.store.conn()?;
501 | | self.sync_with_conn(conn).await
502 | | }
| |_____^
= note: required because it captures the following types: `FfiListMessagesOptions`, `xmtp_mls::groups::MlsGroup<'_, xmtp_api_grpc::Client>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> src/lib.rs:211:48
|
211 | ) -> Result<Vec<FfiMessage>, GenericError> {
| ________________________________________________^
212 | | let group = MlsGroup::new(
213 | | self.inner_client.as_ref(),
214 | | self.group_id.clone(),
... |
225 | | Ok(messages)
226 | | }
| |_____^
note: required because it appears within the type `Option<impl Future<Output = Result<Vec<FfiMessage>, GenericError>>>`
--> /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:563:10
note: required because it appears within the type `Compat<impl Future<Output = Result<Vec<FfiMessage>, GenericError>>>`
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:199:16
|
199 | pub struct Compat<T> {
| ^^^^^^
note: required by a bound in `uniffi::RustFuture::<F, T, UT>::new`
--> /home/runner/.cargo/git/checkouts/uniffi-rs-6f89edd2a1ffa4bd/cae8edc/uniffi_core/src/ffi/rustfuture.rs:181:29
|
181 | F: Future<Output = T> + Send,
| ^^^^ required by this bound in `RustFuture::<F, T, UT>::new`
...
184 | pub fn new(
| --- required by a bound in this associated function
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied:
src/lib.rs#L194
error[E0599]: the method `wake` exists for struct `Pin<Arc<RustFuture<Compat<impl Future<Output = Result<(), GenericError>>>, Result<(), GenericError>, ...>>>`, but its trait bounds were not satisfied
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:197:1
|
197 | / pin_project! {
198 | | /// Compatibility adapter for futures and I/O types.
199 | | pub struct Compat<T> {
200 | | #[pin]
... |
214 | | }
215 | | }
| |_- doesn't satisfy `_: Send`
|
= note: the full type name has been written to '/home/runner/work/libxmtp/libxmtp/bindings_ffi/target/debug/deps/xmtpv3-b9a7b3912c1a8159.long-type-16282722571910940202.txt'
= note: the following trait bounds were not satisfied:
`uniffi::deps::async_compat::Compat<impl std::future::Future<Output = std::result::Result<(), GenericError>>>: std::marker::Send`
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
`std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely:
src/lib.rs#L194
error[E0277]: `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
--> src/lib.rs:194:1
|
194 | #[uniffi::export(async_runtime = "tokio")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>` cannot be shared between threads safely
|
= help: within `xmtp_mls::storage::db_connection::DbConnection<'_>`, the trait `std::marker::Sync` is not implemented for `std::cell::RefCell<xmtp_mls::storage::db_connection::RefOrValue<'_, r2d2::PooledConnection<diesel::r2d2::ConnectionManager<diesel::sqlite::connection::SqliteConnection>>>>`
= note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
note: required because it appears within the type `DbConnection<'_>`
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/storage/encrypted_store/db_connection.rs:14:12
|
14 | pub struct DbConnection<'a> {
| ^^^^^^^^^^^^
= note: required for `&xmtp_mls::storage::db_connection::DbConnection<'_>` to implement `std::marker::Send`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:517:33
|
517 | ) -> Result<(), GroupError> {
| _________________________________^
518 | | let provider = self.client.mls_provider(conn);
519 | | let mut openmls_group = self.load_mls_group(&provider)?;
520 | |
... |
555 | | Ok(())
556 | | }
| |_____^
= note: required because it captures the following types: `xmtp_mls::storage::db_connection::DbConnection<'_>`, `xmtp_mls::storage::group_intent::NewGroupIntent`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> /home/runner/work/libxmtp/libxmtp/xmtp_mls/src/groups/mod.rs:418:80
|
418 | pub async fn send_message(&self, message: &[u8]) -> Result<(), GroupError> {
| ________________________________________________________________________________^
419 | | let conn = &mut self.client.store.conn()?;
420 | | let intent_data: Vec<u8> = SendMessageIntentData::new(message.to_vec()).into();
421 | | let intent =
... |
427 | | Ok(())
428 | | }
| |_____^
= note: required because it captures the following types: `std::vec::Vec<u8>`, `xmtp_mls::groups::MlsGroup<'_, xmtp_api_grpc::Client>`, `impl std::future::Future<Output = std::result::Result<(), xmtp_mls::groups::GroupError>>`
note: required because it's used within this `async fn` body
--> src/lib.rs:196:82
|
196 | pub async fn send(&self, content_bytes: Vec<u8>) -> Result<(), GenericError> {
| __________________________________________________________________________________^
197 | | let group = MlsGroup::new(
198 | | self.inner_client.as_ref(),
199 | | self.group_id.clone(),
... |
205 | | Ok(())
206 | | }
| |_____^
note: required because it appears within the type `Option<impl Future<Output = Result<(), GenericError>>>`
--> /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:563:10
note: required because it appears within the type `Compat<impl Future<Output = Result<(), GenericError>>>`
--> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-compat-0.2.3/src/lib.rs:199:16
|
199 | pub struct Compat<T> {
| ^^^^^^
note: required by a bound in `uniffi::RustFuture::<F, T, UT>::new`
--> /home/runner/.cargo/git/checkouts/uniffi-rs-6f89edd2a1ffa4bd/cae8edc/uniffi_core/src/ffi/rustfuture.rs:181:29
|
181 | F: Future<Output = T> + Send,
| ^^^^ required by this bound in `RustFuture::<F, T, UT>::new`
...
184 | pub fn new(
| --- required by a bound in this associated function
= note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info)
|
unused variable: `account_address`:
src/lib.rs#L147
warning: unused variable: `account_address`
--> src/lib.rs:147:9
|
147 | account_address: String,
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_address`
|
= note: `#[warn(unused_variables)]` on by default
|
variable does not need to be mutable:
src/lib.rs#L106
warning: variable does not need to be mutable
--> src/lib.rs:106:9
|
106 | let mut xmtp_client: RustXmtpClient = ClientBuilder::new(inbox_owner.into())
| ----^^^^^^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
|
unused import: `GroupMessageKind`:
src/lib.rs#L15
warning: unused import: `GroupMessageKind`
--> src/lib.rs:15:40
|
15 | use xmtp_mls::storage::group_message::{GroupMessageKind, StoredGroupMessage};
| ^^^^^^^^^^^^^^^^
|
unused import: `uniffi::FfiConverter`:
src/lib.rs#L12
warning: unused import: `uniffi::FfiConverter`
--> src/lib.rs:12:5
|
12 | use uniffi::FfiConverter;
| ^^^^^^^^^^^^^^^^^^^^
|
unused import: `stringify_error_chain`:
src/v2.rs#L1
warning: unused import: `stringify_error_chain`
--> src/v2.rs:1:13
|
1 | use crate::{stringify_error_chain, GenericError};
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|