diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ce3061b6aa..f85259d5e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt, clippy @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt @@ -57,7 +57,7 @@ jobs: cargo fmt --all -- --check ./eng/scripts/check_json_format.sh cargo fmt --manifest-path services/Cargo.toml --all -- --check - if: matrix.rust == 'stable' + if: matrix.rust == 'nightly' - name: check core for wasm run: cargo check -p azure_core --target=wasm32-unknown-unknown @@ -85,7 +85,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt, clippy @@ -112,7 +112,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt @@ -136,7 +136,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt @@ -167,7 +167,7 @@ jobs: - name: install rust uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true components: rustfmt, clippy diff --git a/.github/workflows/services-all-features.yml b/.github/workflows/services-all-features.yml index 25c682e6c2..da914c114a 100644 --- a/.github/workflows/services-all-features.yml +++ b/.github/workflows/services-all-features.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: nightly profile: minimal override: true diff --git a/sdk/core/src/macros.rs b/sdk/core/src/macros.rs index 6f6502b666..e514a45a2c 100644 --- a/sdk/core/src/macros.rs +++ b/sdk/core/src/macros.rs @@ -29,7 +29,7 @@ macro_rules! setters { #[allow(clippy::redundant_field_names)] #[allow(clippy::needless_update)] // TODO: Declare using idiomatic with_$name when https://github.com/Azure/azure-sdk-for-rust/issues/292 is resolved. - pub fn $name>(self, $name: T) -> Self { + pub fn $name<_T: ::std::convert::Into<$typ>>(self, $name: _T) -> Self { let $name: $typ = $name.into(); Self { $name: $transform, diff --git a/sdk/data_cosmos/examples/attachments_00.rs b/sdk/data_cosmos/examples/attachments_00.rs index 1284601da7..6740bc024d 100644 --- a/sdk/data_cosmos/examples/attachments_00.rs +++ b/sdk/data_cosmos/examples/attachments_00.rs @@ -1,3 +1,5 @@ +#![feature(into_future)] + use azure_data_cosmos::prelude::*; use futures::StreamExt; use serde::{Deserialize, Serialize}; @@ -52,7 +54,7 @@ async fn main() -> Result<(), Box> { }; // let's add an entity. - match client.create_document(doc.clone()).into_future().await { + match client.create_document(doc.clone()).await { Ok(_) => { println!("document created"); } @@ -81,7 +83,6 @@ async fn main() -> Result<(), Box> { "image/jpeg", ) .consistency_level(ret) - .into_future() .await?; println!("create reference == {:#?}", resp); @@ -89,11 +90,7 @@ async fn main() -> Result<(), Box> { // sure to find the just created attachment let session_token: ConsistencyLevel = resp.into(); - let resp = attachment - .get() - .consistency_level(session_token) - .into_future() - .await?; + let resp = attachment.get().consistency_level(session_token).await?; println!("get attachment == {:#?}", resp); let session_token: ConsistencyLevel = resp.into(); @@ -106,16 +103,11 @@ async fn main() -> Result<(), Box> { "image/jpeg", ) .consistency_level(session_token) - .into_future() .await?; println!("replace reference == {:#?}", resp); println!("deleting"); - let resp_delete = attachment - .delete() - .consistency_level(&resp) - .into_future() - .await?; + let resp_delete = attachment.delete().consistency_level(&resp).await?; println!("delete attachment == {:#?}", resp_delete); // slug attachment @@ -125,17 +117,12 @@ async fn main() -> Result<(), Box> { .create_slug("FFFFF".into()) .consistency_level(&resp_delete) .content_type("text/plain") - .into_future() .await?; println!("create slug == {:#?}", resp); println!("deleting"); - let resp_delete = attachment - .delete() - .consistency_level(&resp) - .into_future() - .await?; + let resp_delete = attachment.delete().consistency_level(&resp).await?; println!("delete attachment == {:#?}", resp_delete); Ok(()) diff --git a/sdk/data_cosmos/examples/cancellation.rs b/sdk/data_cosmos/examples/cancellation.rs index 60275a0c6d..721835692f 100644 --- a/sdk/data_cosmos/examples/cancellation.rs +++ b/sdk/data_cosmos/examples/cancellation.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use stop_token::prelude::*; use stop_token::StopSource; diff --git a/sdk/data_cosmos/examples/collection.rs b/sdk/data_cosmos/examples/collection.rs index 25e9e56c1a..f62b39d345 100644 --- a/sdk/data_cosmos/examples/collection.rs +++ b/sdk/data_cosmos/examples/collection.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use std::error::Error; @@ -47,11 +48,7 @@ async fn main() -> Result<(), Box> { // try get on the first database (if any) if let Some(db) = databases.databases.first() { println!("getting info of database {}", &db.id); - let db = client - .database_client(db.id.clone()) - .get_database() - .into_future() - .await?; + let db = client.database_client(db.id.clone()).get_database().await?; println!("db {} found == {:?}", &db.database.id, &db); } @@ -78,7 +75,6 @@ async fn main() -> Result<(), Box> { let collection_response = database .collection_client(collection.id) .get_collection() - .into_future() .await?; println!("\tcollection_response {:?}", collection_response); diff --git a/sdk/data_cosmos/examples/create_delete_database.rs b/sdk/data_cosmos/examples/create_delete_database.rs index b1948e6dbc..aeeea0325e 100644 --- a/sdk/data_cosmos/examples/create_delete_database.rs +++ b/sdk/data_cosmos/examples/create_delete_database.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use std::error::Error; @@ -39,16 +40,13 @@ async fn main() -> Result<(), Box> { } drop(list_databases_stream); - let db = client.create_database(&database_name).into_future().await?; + let db = client.create_database(&database_name).await?; println!("created database = {:#?}", db); // create collection! { let database = client.database_client(database_name.clone()); - let create_collection_response = database - .create_collection("panzadoro", "/id") - .into_future() - .await?; + let create_collection_response = database.create_collection("panzadoro", "/id").await?; println!( "create_collection_response == {:#?}", @@ -57,7 +55,7 @@ async fn main() -> Result<(), Box> { let db_collection = database.collection_client("panzadoro"); - let get_collection_response = db_collection.get_collection().into_future().await?; + let get_collection_response = db_collection.get_collection().await?; println!("get_collection_response == {:#?}", get_collection_response); let mut stream = database.list_collections().into_stream(); @@ -66,14 +64,13 @@ async fn main() -> Result<(), Box> { println!("res == {:#?}", res); } - let delete_response = db_collection.delete_collection().into_future().await?; + let delete_response = db_collection.delete_collection().await?; println!("collection deleted: {:#?}", delete_response); } let resp = client .database_client(database_name) .delete_database() - .into_future() .await?; println!("database deleted. resp == {:#?}", resp); diff --git a/sdk/data_cosmos/examples/database_00.rs b/sdk/data_cosmos/examples/database_00.rs index db7541ca7e..21b6dd684f 100644 --- a/sdk/data_cosmos/examples/database_00.rs +++ b/sdk/data_cosmos/examples/database_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use serde_json::Value; @@ -56,7 +57,6 @@ async fn main() -> Result<(), Box> { .create_document(document) .is_upsert(true) .partition_key(&43u32)? - .into_future() .await?; println!("resp == {:?}", resp); @@ -70,7 +70,6 @@ async fn main() -> Result<(), Box> { let replace_collection_response = collection .replace_collection("/age") .indexing_policy(indexing_policy_new) - .into_future() .await?; println!( "replace_collection_response == {:#?}", diff --git a/sdk/data_cosmos/examples/database_01.rs b/sdk/data_cosmos/examples/database_01.rs index 89ef0b7be2..b525336c0b 100644 --- a/sdk/data_cosmos/examples/database_01.rs +++ b/sdk/data_cosmos/examples/database_01.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use std::error::Error; @@ -25,11 +26,7 @@ async fn main() -> Result<(), Box> { .unwrap()?; println!("collections == {:#?}", collections); - let collection = database - .collection_client("cnt") - .get_collection() - .into_future() - .await?; + let collection = database.collection_client("cnt").get_collection().await?; println!("collection == {:#?}", collection); Ok(()) diff --git a/sdk/data_cosmos/examples/document_00.rs b/sdk/data_cosmos/examples/document_00.rs index c7258ae78d..87b15b99b2 100644 --- a/sdk/data_cosmos/examples/document_00.rs +++ b/sdk/data_cosmos/examples/document_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use futures::stream::StreamExt; use serde::{Deserialize, Serialize}; // Using the prelude module of the Cosmos crate makes easier to use the Rust Azure SDK for Cosmos @@ -69,13 +70,7 @@ async fn main() -> Result<(), Box> { // If the requested database is not found we create it. let database = match db { Some(db) => db, - None => { - client - .create_database(DATABASE) - .into_future() - .await? - .database - } + None => client.create_database(DATABASE).await?.database, }; println!("database == {:?}", database); @@ -102,7 +97,6 @@ async fn main() -> Result<(), Box> { .clone() .database_client(database.id.clone()) .create_collection(COLLECTION, "/id") - .into_future() .await? .collection } @@ -131,10 +125,7 @@ async fn main() -> Result<(), Box> { // The method create_document will return, upon success, // the document attributes. - let create_document_response = collection - .create_document(doc.clone()) - .into_future() - .await?; + let create_document_response = collection.create_document(doc.clone()).await?; println!( "create_document_response == {:#?}", create_document_response @@ -159,8 +150,7 @@ async fn main() -> Result<(), Box> { let get_document_response = collection .clone() .document_client(doc.id.clone(), &doc.id)? - .get_document() - .into_future::() + .get_document::() .await?; println!("get_document_response == {:#?}", get_document_response); @@ -179,7 +169,6 @@ async fn main() -> Result<(), Box> { .document_client(doc.id.clone(), &doc.id)? .replace_document(doc) .if_match_condition(IfMatchCondition::Match(document.etag)) - .into_future() .await?; println!( "replace_document_response == {:#?}", @@ -192,7 +181,6 @@ async fn main() -> Result<(), Box> { .database_client(DATABASE.to_owned()) .collection_client(COLLECTION.to_owned()) .delete_collection() - .into_future() .await?; println!("collection deleted"); @@ -200,7 +188,6 @@ async fn main() -> Result<(), Box> { client .database_client(database.id) .delete_database() - .into_future() .await?; println!("database deleted"); diff --git a/sdk/data_cosmos/examples/document_entries_00.rs b/sdk/data_cosmos/examples/document_entries_00.rs index 8bc107f996..5c3e9fea91 100644 --- a/sdk/data_cosmos/examples/document_entries_00.rs +++ b/sdk/data_cosmos/examples/document_entries_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_core::prelude::*; use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; @@ -52,7 +53,7 @@ async fn main() -> Result<(), Box> { }; // let's add an entity. - response = Some(client.create_document(doc.clone()).into_future().await?); + response = Some(client.create_document(doc.clone()).await?); } println!("Created 5 documents."); @@ -128,7 +129,6 @@ async fn main() -> Result<(), Box> { .replace_document(doc.document) .consistency_level(ConsistencyLevel::from(&response)) .if_match_condition(IfMatchCondition::Match(doc.etag)) // use optimistic concurrency check - .into_future() .await?; println!( @@ -155,7 +155,6 @@ async fn main() -> Result<(), Box> { client .document_client(id.clone(), &id)? .delete_document() - .into_future() .await?; } println!("Cleaned up"); diff --git a/sdk/data_cosmos/examples/document_entries_01.rs b/sdk/data_cosmos/examples/document_entries_01.rs index c861445c7e..6cfb649d14 100644 --- a/sdk/data_cosmos/examples/document_entries_01.rs +++ b/sdk/data_cosmos/examples/document_entries_01.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::StreamExt; use serde::{Deserialize, Serialize}; @@ -48,11 +49,7 @@ async fn main() -> Result<(), Box> { }; // let's add an entity. - let create_document_response = client - .create_document(doc.clone()) - .is_upsert(true) - .into_future() - .await?; + let create_document_response = client.create_document(doc.clone()).is_upsert(true).await?; println!( "create_document_response == {:#?}\n\n\n", @@ -61,17 +58,15 @@ async fn main() -> Result<(), Box> { let get_document_response = client .document_client(doc.id.clone(), &doc.id)? - .get_document() + .get_document::() .consistency_level(&create_document_response) - .into_future::() .await?; println!("get_document_response == {:#?}", get_document_response); let get_document_response = client .document_client("ciccia", &doc.id)? - .get_document() + .get_document::() .consistency_level(&create_document_response) - .into_future::() .await?; println!( "get_document_response == {:#?}\n\n\n", @@ -106,7 +101,6 @@ async fn main() -> Result<(), Box> { .document_client(doc.id.clone(), &doc.id)? .replace_document(doc) .consistency_level(&query_documents_response) - .into_future() .await?; println!( "replace_document_response == {:#?}", diff --git a/sdk/data_cosmos/examples/get_database.rs b/sdk/data_cosmos/examples/get_database.rs index b4c5466e08..d0a9aa31cb 100644 --- a/sdk/data_cosmos/examples/get_database.rs +++ b/sdk/data_cosmos/examples/get_database.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_core::prelude::*; use azure_core::CustomHeaders; use azure_data_cosmos::prelude::*; @@ -37,11 +38,7 @@ async fn main() -> Result<(), Box> { context.insert(custom_headers); - let response = database - .get_database() - .context(context) - .into_future() - .await?; + let response = database.get_database().context(context).await?; println!("response == {:?}", response); Ok(()) diff --git a/sdk/data_cosmos/examples/key_ranges_00.rs b/sdk/data_cosmos/examples/key_ranges_00.rs index 5c9bff6068..619f403b87 100644 --- a/sdk/data_cosmos/examples/key_ranges_00.rs +++ b/sdk/data_cosmos/examples/key_ranges_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use std::error::Error; @@ -26,7 +27,7 @@ async fn main() -> Result<(), Box> { .database_client(database) .collection_client(collection); - let resp = client.get_partition_key_ranges().into_future().await?; + let resp = client.get_partition_key_ranges().await?; println!("resp == {:#?}", resp); Ok(()) diff --git a/sdk/data_cosmos/examples/permission_00.rs b/sdk/data_cosmos/examples/permission_00.rs index a8494a167c..6c661fed9f 100644 --- a/sdk/data_cosmos/examples/permission_00.rs +++ b/sdk/data_cosmos/examples/permission_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::StreamExt; use std::error::Error; @@ -36,19 +37,19 @@ async fn main() -> Result<(), Box> { let collection2 = database.collection_client(collection_name2); let user = database.user_client(user_name); - let get_database_response = database.get_database().into_future().await?; + let get_database_response = database.get_database().await?; println!("get_database_response == {:#?}", get_database_response); - let get_collection_response = collection.get_collection().into_future().await?; + let get_collection_response = collection.get_collection().await?; println!("get_collection_response == {:#?}", get_collection_response); - let get_collection2_response = collection2.get_collection().into_future().await?; + let get_collection2_response = collection2.get_collection().await?; println!( "get_collection2_response == {:#?}", get_collection2_response ); - let create_user_response = user.create_user().into_future().await?; + let create_user_response = user.create_user().await?; println!("create_user_response == {:#?}", create_user_response); // create the first permission! @@ -59,7 +60,6 @@ async fn main() -> Result<(), Box> { .create_permission(permission_mode) .consistency_level(&create_user_response) .expiry_seconds(18000u64) - .into_future() .await .unwrap(); println!( @@ -74,7 +74,6 @@ async fn main() -> Result<(), Box> { let create_permission2_response = permission .create_permission(permission_mode) .consistency_level(&create_user_response) - .into_future() .await .unwrap(); @@ -103,7 +102,6 @@ async fn main() -> Result<(), Box> { .consistency_level(ConsistencyLevel::Session( list_permissions_response.session_token, )) - .into_future() .await .unwrap(); println!("get_permission_response == {:#?}", get_permission_response); @@ -117,7 +115,6 @@ async fn main() -> Result<(), Box> { .consistency_level(ConsistencyLevel::Session( get_permission_response.session_token, )) - .into_future() .await .unwrap(); println!( @@ -130,7 +127,6 @@ async fn main() -> Result<(), Box> { .consistency_level(ConsistencyLevel::Session( replace_permission_response.session_token, )) - .into_future() .await .unwrap(); @@ -144,7 +140,6 @@ async fn main() -> Result<(), Box> { .consistency_level(ConsistencyLevel::Session( delete_permission_response.session_token, )) - .into_future() .await?; println!("delete_user_response == {:#?}", delete_user_response); diff --git a/sdk/data_cosmos/examples/query_document_00.rs b/sdk/data_cosmos/examples/query_document_00.rs index 55e9c75515..8cf3f5f2df 100644 --- a/sdk/data_cosmos/examples/query_document_00.rs +++ b/sdk/data_cosmos/examples/query_document_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::StreamExt; use serde::{Deserialize, Serialize}; diff --git a/sdk/data_cosmos/examples/readme.rs b/sdk/data_cosmos/examples/readme.rs index 067fd13c20..00e515513c 100644 --- a/sdk/data_cosmos/examples/readme.rs +++ b/sdk/data_cosmos/examples/readme.rs @@ -80,7 +80,6 @@ async fn main() -> Result<(), Box> { collection .create_document(document_to_insert.clone()) .is_upsert(true) - .into_future() .await? .session_token, // get only the session token, if everything else was ok! ); @@ -150,7 +149,6 @@ async fn main() -> Result<(), Box> { .delete_document() .consistency_level(session_token.clone()) .if_match_condition(&document.document_attributes) - .into_future() .await?; } diff --git a/sdk/data_cosmos/examples/remove_all_documents.rs b/sdk/data_cosmos/examples/remove_all_documents.rs index 1aa99b4e60..627ffda78a 100644 --- a/sdk/data_cosmos/examples/remove_all_documents.rs +++ b/sdk/data_cosmos/examples/remove_all_documents.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use serde_json::Value; @@ -73,7 +74,6 @@ async fn main() -> Result<(), Box> { client .document_client(id.clone(), &partition_key)? .delete_document() - .into_future() .await?; } diff --git a/sdk/data_cosmos/examples/stored_proc_00.rs b/sdk/data_cosmos/examples/stored_proc_00.rs index c3d2b2e6ca..5fc9e39709 100644 --- a/sdk/data_cosmos/examples/stored_proc_00.rs +++ b/sdk/data_cosmos/examples/stored_proc_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] /// This sample showcases execution of stored procedure /// Create stored procedure called test_proc, like so: /// function f(personToGreet) { diff --git a/sdk/data_cosmos/examples/stored_proc_01.rs b/sdk/data_cosmos/examples/stored_proc_01.rs index 822f29ef20..62846cbc29 100644 --- a/sdk/data_cosmos/examples/stored_proc_01.rs +++ b/sdk/data_cosmos/examples/stored_proc_01.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] /// This sample showcases execution of stored procedure /// Create stored procedure called test_proc, like so: /// function f(personToGreet) { @@ -58,7 +59,6 @@ async fn main() -> Result<(), Box> { let create_stored_procedure_response = stored_procedure .create_stored_procedure(function_body) - .into_future() .await?; println!( "create_stored_procedure_response == {:#?}", @@ -80,10 +80,7 @@ async fn main() -> Result<(), Box> { execute_stored_procedure_response.payload ); - let delete_stored_procedure_response = stored_procedure - .delete_stored_procedure() - .into_future() - .await?; + let delete_stored_procedure_response = stored_procedure.delete_stored_procedure().await?; println!( "delete_stored_procedure_response == {:#?}", delete_stored_procedure_response diff --git a/sdk/data_cosmos/examples/trigger_00.rs b/sdk/data_cosmos/examples/trigger_00.rs index 45d66899c7..423aa6d6b4 100644 --- a/sdk/data_cosmos/examples/trigger_00.rs +++ b/sdk/data_cosmos/examples/trigger_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use azure_data_cosmos::resources::trigger::{TriggerOperation, TriggerType}; use futures::stream::StreamExt; @@ -63,14 +64,12 @@ async fn main() -> Result<(), Box> { let ret = trigger .create_trigger("something", TriggerType::Post, TriggerOperation::All) - .into_future() .await?; println!("Create response object:\n{:#?}", ret); let ret = trigger .replace_trigger(TRIGGER_BODY, TriggerType::Post, TriggerOperation::All) .consistency_level(ret) - .into_future() .await?; println!("Replace response object:\n{:#?}", ret); @@ -93,7 +92,6 @@ async fn main() -> Result<(), Box> { let ret = trigger .delete_trigger() .consistency_level(last_session_token.unwrap()) - .into_future() .await?; println!("Delete response object:\n{:#?}", ret); diff --git a/sdk/data_cosmos/examples/user_00.rs b/sdk/data_cosmos/examples/user_00.rs index 1e6322139d..90f5ed7f82 100644 --- a/sdk/data_cosmos/examples/user_00.rs +++ b/sdk/data_cosmos/examples/user_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::StreamExt; use std::error::Error; @@ -28,24 +29,24 @@ async fn main() -> Result<(), Box> { let database = client.database_client(database_name); let user = database.user_client(user_name.clone()); - let create_user_response = user.create_user().into_future().await?; + let create_user_response = user.create_user().await?; println!("create_user_response == {:#?}", create_user_response); let users = database.list_users().into_stream().next().await.unwrap()?; println!("list_users_response == {:#?}", users); - let get_user_response = user.get_user().into_future().await?; + let get_user_response = user.get_user().await?; println!("get_user_response == {:#?}", get_user_response); let new_user = format!("{}replaced", user_name); - let replace_user_response = user.replace_user(new_user.clone()).into_future().await?; + let replace_user_response = user.replace_user(new_user.clone()).await?; println!("replace_user_response == {:#?}", replace_user_response); let user = database.user_client(new_user); - let delete_user_response = user.delete_user().into_future().await?; + let delete_user_response = user.delete_user().await?; println!("delete_user_response == {:#?}", delete_user_response); Ok(()) diff --git a/sdk/data_cosmos/examples/user_defined_function_00.rs b/sdk/data_cosmos/examples/user_defined_function_00.rs index 482ef19923..64f2aec126 100644 --- a/sdk/data_cosmos/examples/user_defined_function_00.rs +++ b/sdk/data_cosmos/examples/user_defined_function_00.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::stream::StreamExt; use std::error::Error; @@ -41,7 +42,6 @@ async fn main() -> Result<(), Box> { let ret = user_defined_function .create_user_defined_function("body") - .into_future() .await?; println!("Creeate response object:\n{:#?}", ret); @@ -61,7 +61,6 @@ async fn main() -> Result<(), Box> { let ret = user_defined_function .replace_user_defined_function(FN_BODY) .consistency_level(&ret) - .into_future() .await?; println!("Replace response object:\n{:#?}", ret); @@ -93,7 +92,6 @@ async fn main() -> Result<(), Box> { let ret = user_defined_function .delete_user_defined_function() .consistency_level(&ret) - .into_future() .await?; println!("Delete response object:\n{:#?}", ret); diff --git a/sdk/data_cosmos/examples/user_permission_token.rs b/sdk/data_cosmos/examples/user_permission_token.rs index be9b28a344..474429aafd 100644 --- a/sdk/data_cosmos/examples/user_permission_token.rs +++ b/sdk/data_cosmos/examples/user_permission_token.rs @@ -1,3 +1,4 @@ +#![feature(into_future)] use azure_data_cosmos::prelude::*; use futures::StreamExt; use std::error::Error; @@ -32,10 +33,10 @@ async fn main() -> Result<(), Box> { let collection = database.collection_client(collection_name.clone()); let user = database.user_client(user_name); - let get_collection_response = collection.get_collection().into_future().await?; + let get_collection_response = collection.get_collection().await?; println!("get_collection_response == {:#?}", get_collection_response); - let create_user_response = user.create_user().into_future().await?; + let create_user_response = user.create_user().await?; println!("create_user_response == {:#?}", create_user_response); // test list documents @@ -58,7 +59,6 @@ async fn main() -> Result<(), Box> { let create_permission_response = permission .create_permission(permission_mode) .expiry_seconds(18000u64) // 5 hours, max! - .into_future() .await .unwrap(); println!( @@ -115,21 +115,19 @@ async fn main() -> Result<(), Box> { .create_document(document.clone()) .is_upsert(true) .partition_key(&"Gianluigi Bombatomica")? - .into_future() .await { Ok(_) => panic!("this should not happen!"), Err(error) => println!("Insert failed: {:#?}", error), } - permission.delete_permission().into_future().await?; + permission.delete_permission().await?; // All includes read and write. let permission_mode = get_collection_response.collection.all_permission(); let create_permission_response = permission .create_permission(permission_mode) .expiry_seconds(18000u64) - .into_future() .await .unwrap(); println!( @@ -156,7 +154,6 @@ async fn main() -> Result<(), Box> { .create_document(document) .is_upsert(true) .partition_key(&"Gianluigi Bombatomica")? - .into_future() .await?; println!( "create_document_response == {:#?}", @@ -164,7 +161,7 @@ async fn main() -> Result<(), Box> { ); println!("Cleaning up user."); - let delete_user_response = user.delete_user().into_future().await?; + let delete_user_response = user.delete_user().await?; println!("delete_user_response == {:#?}", delete_user_response); Ok(()) diff --git a/sdk/data_cosmos/src/clients/document.rs b/sdk/data_cosmos/src/clients/document.rs index ac1163342b..d1ceb07d83 100644 --- a/sdk/data_cosmos/src/clients/document.rs +++ b/sdk/data_cosmos/src/clients/document.rs @@ -62,7 +62,7 @@ impl DocumentClient { } /// Get a document - pub fn get_document(&self) -> GetDocumentBuilder { + pub fn get_document(&self) -> GetDocumentBuilder { GetDocumentBuilder::new(self.clone()) } diff --git a/sdk/data_cosmos/src/lib.rs b/sdk/data_cosmos/src/lib.rs index 26aa52512a..e3901704f4 100644 --- a/sdk/data_cosmos/src/lib.rs +++ b/sdk/data_cosmos/src/lib.rs @@ -2,6 +2,7 @@ #![allow(clippy::new_without_default)] #![allow(clippy::module_inception)] #![cfg_attr(feature = "into_future", feature(into_future))] +#![feature(into_future)] /*! # The Cosmos DB crate. @@ -83,7 +84,7 @@ async fn main() -> Result<(), Box> { collection .create_document(document_to_insert) .is_upsert(true) - .into_future() + .await?; } // wow that was easy and fast, wasn't it? :) diff --git a/sdk/data_cosmos/src/operations/create_collection.rs b/sdk/data_cosmos/src/operations/create_collection.rs index ddef7775f0..a12b5520c5 100644 --- a/sdk/data_cosmos/src/operations/create_collection.rs +++ b/sdk/data_cosmos/src/operations/create_collection.rs @@ -65,7 +65,6 @@ impl CreateCollectionBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateCollectionBuilder { type IntoFuture = CreateCollection; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_database.rs b/sdk/data_cosmos/src/operations/create_database.rs index c5008b6ce6..42fecaab42 100644 --- a/sdk/data_cosmos/src/operations/create_database.rs +++ b/sdk/data_cosmos/src/operations/create_database.rs @@ -63,7 +63,6 @@ impl CreateDatabaseBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateDatabaseBuilder { type IntoFuture = CreateDatabase; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_document.rs b/sdk/data_cosmos/src/operations/create_document.rs index 387dafbfd3..c4301f4d63 100644 --- a/sdk/data_cosmos/src/operations/create_document.rs +++ b/sdk/data_cosmos/src/operations/create_document.rs @@ -97,7 +97,6 @@ impl CreateDocumentBuilder { pub type CreateDocument = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateDocumentBuilder { diff --git a/sdk/data_cosmos/src/operations/create_or_replace_attachment.rs b/sdk/data_cosmos/src/operations/create_or_replace_attachment.rs index 5d1c9eeb13..db8455a276 100644 --- a/sdk/data_cosmos/src/operations/create_or_replace_attachment.rs +++ b/sdk/data_cosmos/src/operations/create_or_replace_attachment.rs @@ -88,7 +88,6 @@ impl CreateOrReplaceAttachmentBuilder { pub type CreateOrReplaceAttachment = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateOrReplaceAttachmentBuilder { type IntoFuture = CreateOrReplaceAttachment; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_or_replace_slug_attachment.rs b/sdk/data_cosmos/src/operations/create_or_replace_slug_attachment.rs index fe6a9c1d20..d6b8324c22 100644 --- a/sdk/data_cosmos/src/operations/create_or_replace_slug_attachment.rs +++ b/sdk/data_cosmos/src/operations/create_or_replace_slug_attachment.rs @@ -94,7 +94,6 @@ impl CreateOrReplaceSlugAttachmentBuilder { pub type CreateOrReplaceSlugAttachment = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateOrReplaceSlugAttachmentBuilder { type IntoFuture = CreateOrReplaceSlugAttachment; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_or_replace_trigger.rs b/sdk/data_cosmos/src/operations/create_or_replace_trigger.rs index 9bfcdef8f3..b0aa942377 100644 --- a/sdk/data_cosmos/src/operations/create_or_replace_trigger.rs +++ b/sdk/data_cosmos/src/operations/create_or_replace_trigger.rs @@ -90,7 +90,6 @@ impl CreateOrReplaceTriggerBuilder { pub type CreateOrReplaceTrigger = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateOrReplaceTriggerBuilder { type IntoFuture = CreateOrReplaceTrigger; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_or_replace_user_defined_function.rs b/sdk/data_cosmos/src/operations/create_or_replace_user_defined_function.rs index 7f75bf3a8f..5df2be3d83 100644 --- a/sdk/data_cosmos/src/operations/create_or_replace_user_defined_function.rs +++ b/sdk/data_cosmos/src/operations/create_or_replace_user_defined_function.rs @@ -72,7 +72,6 @@ impl CreateOrReplaceUserDefinedFunctionBuilder { pub type CreateOrReplaceUserDefinedFunction = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateOrReplaceUserDefinedFunctionBuilder { type IntoFuture = CreateOrReplaceUserDefinedFunction; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_permission.rs b/sdk/data_cosmos/src/operations/create_permission.rs index 5451deaa68..2786223474 100644 --- a/sdk/data_cosmos/src/operations/create_permission.rs +++ b/sdk/data_cosmos/src/operations/create_permission.rs @@ -75,7 +75,6 @@ impl CreatePermissionBuilder { /// The future returned by calling `into_future` on the builder. pub type CreatePermission = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreatePermissionBuilder { type IntoFuture = CreatePermission; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_stored_procedure.rs b/sdk/data_cosmos/src/operations/create_stored_procedure.rs index 71f800c9d7..648298b0b6 100644 --- a/sdk/data_cosmos/src/operations/create_stored_procedure.rs +++ b/sdk/data_cosmos/src/operations/create_stored_procedure.rs @@ -60,7 +60,6 @@ impl CreateStoredProcedureBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateStoredProcedureBuilder { type IntoFuture = CreateStoredProcedure; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/create_user.rs b/sdk/data_cosmos/src/operations/create_user.rs index dd56fc3c2c..9aed1c0bb4 100644 --- a/sdk/data_cosmos/src/operations/create_user.rs +++ b/sdk/data_cosmos/src/operations/create_user.rs @@ -54,7 +54,6 @@ impl CreateUserBuilder { /// The future returned by calling `into_future` on the builder. pub type CreateUser = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for CreateUserBuilder { type IntoFuture = CreateUser; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_attachment.rs b/sdk/data_cosmos/src/operations/delete_attachment.rs index fdef3ba348..a7a15a6423 100644 --- a/sdk/data_cosmos/src/operations/delete_attachment.rs +++ b/sdk/data_cosmos/src/operations/delete_attachment.rs @@ -64,7 +64,6 @@ impl DeleteAttachmentBuilder { pub type DeleteAttachment = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteAttachmentBuilder { type IntoFuture = DeleteAttachment; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_collection.rs b/sdk/data_cosmos/src/operations/delete_collection.rs index ac80d1c77f..3b753a8b99 100644 --- a/sdk/data_cosmos/src/operations/delete_collection.rs +++ b/sdk/data_cosmos/src/operations/delete_collection.rs @@ -51,7 +51,6 @@ impl DeleteCollectionBuilder { pub type DeleteCollection = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteCollectionBuilder { type IntoFuture = DeleteCollection; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_database.rs b/sdk/data_cosmos/src/operations/delete_database.rs index d2ea571762..4245826955 100644 --- a/sdk/data_cosmos/src/operations/delete_database.rs +++ b/sdk/data_cosmos/src/operations/delete_database.rs @@ -45,7 +45,6 @@ impl DeleteDatabaseBuilder { pub type DeleteDatabase = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteDatabaseBuilder { type IntoFuture = DeleteDatabase; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_document.rs b/sdk/data_cosmos/src/operations/delete_document.rs index f0f22d56a4..7e7113458d 100644 --- a/sdk/data_cosmos/src/operations/delete_document.rs +++ b/sdk/data_cosmos/src/operations/delete_document.rs @@ -71,7 +71,6 @@ impl DeleteDocumentBuilder { pub type DeleteDocument = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteDocumentBuilder { type IntoFuture = DeleteDocument; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_permission.rs b/sdk/data_cosmos/src/operations/delete_permission.rs index 285e36da4b..45e6924287 100644 --- a/sdk/data_cosmos/src/operations/delete_permission.rs +++ b/sdk/data_cosmos/src/operations/delete_permission.rs @@ -52,7 +52,6 @@ impl DeletePermissionBuilder { pub type DeletePermission = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeletePermissionBuilder { type IntoFuture = DeletePermission; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_stored_procedure.rs b/sdk/data_cosmos/src/operations/delete_stored_procedure.rs index 94c8b5c0f0..88d65bb288 100644 --- a/sdk/data_cosmos/src/operations/delete_stored_procedure.rs +++ b/sdk/data_cosmos/src/operations/delete_stored_procedure.rs @@ -52,7 +52,6 @@ impl DeleteStoredProcedureBuilder { pub type DeleteStoredProcedure = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteStoredProcedureBuilder { type IntoFuture = DeleteStoredProcedure; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_trigger.rs b/sdk/data_cosmos/src/operations/delete_trigger.rs index 02395ce2dd..21929d196c 100644 --- a/sdk/data_cosmos/src/operations/delete_trigger.rs +++ b/sdk/data_cosmos/src/operations/delete_trigger.rs @@ -53,7 +53,6 @@ impl DeleteTriggerBuilder { /// The future returned by calling `into_future` on the builder. pub type DeleteTrigger = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteTriggerBuilder { type IntoFuture = DeleteTrigger; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_user.rs b/sdk/data_cosmos/src/operations/delete_user.rs index e812480127..ee90dd510c 100644 --- a/sdk/data_cosmos/src/operations/delete_user.rs +++ b/sdk/data_cosmos/src/operations/delete_user.rs @@ -47,7 +47,6 @@ impl DeleteUserBuilder { /// The future returned by calling `into_future` on the builder. pub type DeleteUser = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteUserBuilder { type IntoFuture = DeleteUser; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/delete_user_defined_function.rs b/sdk/data_cosmos/src/operations/delete_user_defined_function.rs index ec734ee2fe..b836bac3c8 100644 --- a/sdk/data_cosmos/src/operations/delete_user_defined_function.rs +++ b/sdk/data_cosmos/src/operations/delete_user_defined_function.rs @@ -52,7 +52,6 @@ impl DeleteUserDefinedFunctionBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for DeleteUserDefinedFunctionBuilder { type IntoFuture = DeleteUserDefinedFunction; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_attachment.rs b/sdk/data_cosmos/src/operations/get_attachment.rs index f0f8eb5c81..df16867f20 100644 --- a/sdk/data_cosmos/src/operations/get_attachment.rs +++ b/sdk/data_cosmos/src/operations/get_attachment.rs @@ -61,7 +61,6 @@ impl GetAttachmentBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetAttachmentBuilder { type IntoFuture = GetAttachment; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_collection.rs b/sdk/data_cosmos/src/operations/get_collection.rs index 2b07990207..ef35eb846b 100644 --- a/sdk/data_cosmos/src/operations/get_collection.rs +++ b/sdk/data_cosmos/src/operations/get_collection.rs @@ -53,7 +53,6 @@ impl GetCollectionBuilder { /// The future returned by calling `into_future` on the builder. pub type GetCollection = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetCollectionBuilder { type IntoFuture = GetCollection; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_database.rs b/sdk/data_cosmos/src/operations/get_database.rs index dcc2326d63..203f6b712e 100644 --- a/sdk/data_cosmos/src/operations/get_database.rs +++ b/sdk/data_cosmos/src/operations/get_database.rs @@ -46,7 +46,6 @@ impl GetDatabaseBuilder { /// The future returned by calling `into_future` on the builder. pub type GetDatabase = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetDatabaseBuilder { type IntoFuture = GetDatabase; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_document.rs b/sdk/data_cosmos/src/operations/get_document.rs index 49f6b23b38..41fd45ceee 100644 --- a/sdk/data_cosmos/src/operations/get_document.rs +++ b/sdk/data_cosmos/src/operations/get_document.rs @@ -1,3 +1,6 @@ +use std::future::IntoFuture; +use std::marker; + use crate::headers::from_headers::*; use crate::prelude::*; use crate::resources::Document; @@ -10,15 +13,16 @@ use http::{HeaderMap, StatusCode}; use serde::de::DeserializeOwned; #[derive(Debug, Clone)] -pub struct GetDocumentBuilder { +pub struct GetDocumentBuilder { client: DocumentClient, if_match_condition: Option, if_modified_since: Option, consistency_level: Option, context: Context, + _phantom: marker::PhantomData, } -impl GetDocumentBuilder { +impl GetDocumentBuilder { pub(crate) fn new(client: DocumentClient) -> Self { Self { client, @@ -26,6 +30,7 @@ impl GetDocumentBuilder { if_modified_since: None, consistency_level: None, context: Context::new(), + _phantom: marker::PhantomData, } } @@ -35,13 +40,15 @@ impl GetDocumentBuilder { if_modified_since: DateTime => Some(IfModifiedSince::new(if_modified_since)), context: Context => context, } +} +impl GetDocumentBuilder { /// Convert into a future /// /// We do not implement `std::future::IntoFuture` because it requires the ability for the /// output of the future to be generic which is not possible in Rust (as of 1.59). Once /// generic associated types (GATs) stabilize, this will become possible. - pub fn into_future(self) -> GetDocument { + pub fn into_future(self) -> GetDocument { Box::pin(async move { let mut request = self .client @@ -68,6 +75,15 @@ impl GetDocumentBuilder { } } +impl IntoFuture for GetDocumentBuilder { + type IntoFuture = GetDocument; + type Output = crate::Result>; + + fn into_future(self) -> Self::IntoFuture { + self.into_future() + } +} + /// The future returned by calling `into_future` on the builder. pub type GetDocument = futures::future::BoxFuture<'static, crate::Result>>; diff --git a/sdk/data_cosmos/src/operations/get_partition_key_ranges.rs b/sdk/data_cosmos/src/operations/get_partition_key_ranges.rs index d56b7d9949..9d2b1f8fc9 100644 --- a/sdk/data_cosmos/src/operations/get_partition_key_ranges.rs +++ b/sdk/data_cosmos/src/operations/get_partition_key_ranges.rs @@ -67,7 +67,6 @@ impl GetPartitionKeyRangesBuilder { pub type GetPartitionKeyRanges = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetPartitionKeyRangesBuilder { type IntoFuture = GetPartitionKeyRanges; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_permission.rs b/sdk/data_cosmos/src/operations/get_permission.rs index 57355d162f..b461ccf24d 100644 --- a/sdk/data_cosmos/src/operations/get_permission.rs +++ b/sdk/data_cosmos/src/operations/get_permission.rs @@ -48,7 +48,6 @@ impl GetPermissionBuilder { /// The future returned by calling `into_future` on the builder. pub type GetPermission = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetPermissionBuilder { type IntoFuture = GetPermission; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/get_user.rs b/sdk/data_cosmos/src/operations/get_user.rs index 40a472c2d4..1f741fd4f9 100644 --- a/sdk/data_cosmos/src/operations/get_user.rs +++ b/sdk/data_cosmos/src/operations/get_user.rs @@ -47,7 +47,6 @@ impl GetUserBuilder { /// The future returned by calling `into_future` on the builder. pub type GetUser = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for GetUserBuilder { type IntoFuture = GetUser; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/replace_collection.rs b/sdk/data_cosmos/src/operations/replace_collection.rs index 32407ecf8a..039e368ddb 100644 --- a/sdk/data_cosmos/src/operations/replace_collection.rs +++ b/sdk/data_cosmos/src/operations/replace_collection.rs @@ -67,7 +67,6 @@ impl ReplaceCollectionBuilder { pub type ReplaceCollection = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for ReplaceCollectionBuilder { type IntoFuture = ReplaceCollection; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/replace_document.rs b/sdk/data_cosmos/src/operations/replace_document.rs index 4157541240..984b3c84d5 100644 --- a/sdk/data_cosmos/src/operations/replace_document.rs +++ b/sdk/data_cosmos/src/operations/replace_document.rs @@ -93,7 +93,6 @@ impl ReplaceDocumentBuilder { pub type ReplaceDocument = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for ReplaceDocumentBuilder { type IntoFuture = ReplaceDocument; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/replace_permission.rs b/sdk/data_cosmos/src/operations/replace_permission.rs index ecd30d0957..cce9c08231 100644 --- a/sdk/data_cosmos/src/operations/replace_permission.rs +++ b/sdk/data_cosmos/src/operations/replace_permission.rs @@ -70,7 +70,6 @@ impl ReplacePermissionBuilder { /// The future returned by calling `into_future` on the builder. pub type ReplacePermission = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for ReplacePermissionBuilder { type IntoFuture = ReplacePermission; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/replace_stored_procedure.rs b/sdk/data_cosmos/src/operations/replace_stored_procedure.rs index 0e6474c762..4c0e0c8f07 100644 --- a/sdk/data_cosmos/src/operations/replace_stored_procedure.rs +++ b/sdk/data_cosmos/src/operations/replace_stored_procedure.rs @@ -59,7 +59,6 @@ impl ReplaceStoredProcedureBuilder { } } -#[cfg(feature = "into_future")] impl std::future::IntoFuture for ReplaceStoredProcedureBuilder { type IntoFuture = ReplaceStoredProcedure; type Output = ::Output; diff --git a/sdk/data_cosmos/src/operations/replace_user.rs b/sdk/data_cosmos/src/operations/replace_user.rs index ea1da3025a..f193f1d73e 100644 --- a/sdk/data_cosmos/src/operations/replace_user.rs +++ b/sdk/data_cosmos/src/operations/replace_user.rs @@ -57,7 +57,6 @@ struct ReplaceUserBody<'a> { /// The future returned by calling `into_future` on the builder. pub type ReplaceUser = futures::future::BoxFuture<'static, crate::Result>; -#[cfg(feature = "into_future")] impl std::future::IntoFuture for ReplaceUserBuilder { type IntoFuture = ReplaceUser; type Output = ::Output; diff --git a/sdk/data_cosmos/tests/attachment_00.rs b/sdk/data_cosmos/tests/attachment_00.rs index 18ed73ab39..43efce3aa7 100644 --- a/sdk/data_cosmos/tests/attachment_00.rs +++ b/sdk/data_cosmos/tests/attachment_00.rs @@ -35,11 +35,7 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { let client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); @@ -67,7 +63,6 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { .create_collection(COLLECTION_NAME, "/id") .offer(Offer::Throughput(400)) .indexing_policy(ip) - .into_future() .await .unwrap() }; @@ -84,11 +79,7 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { }; // let's add an entity. - let session_token: ConsistencyLevel = collection - .create_document(doc.clone()) - .into_future() - .await? - .into(); + let session_token: ConsistencyLevel = collection.create_document(doc.clone()).await?.into(); let document = collection.document_client(id.clone(), &doc.id)?; @@ -107,14 +98,12 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { let resp = attachment .create_attachment("https://www.bing.com", "image/jpeg") .consistency_level(&ret) - .into_future() .await?; // replace reference attachment let resp = attachment .replace_attachment("https://www.microsoft.com", "image/jpeg") .consistency_level(&resp) - .into_future() .await?; // create slug attachment @@ -123,7 +112,6 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { .create_slug("something cool here".into()) .consistency_level(&resp) .content_type("text/plain") - .into_future() .await?; // list attachments, there must be two. @@ -141,7 +129,6 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { .attachment_client("reference") .get() .consistency_level(&ret) - .into_future() .await?; assert_eq!( "https://www.microsoft.com", @@ -154,7 +141,6 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { .attachment_client("slug") .get() .consistency_level(&reference_attachment) - .into_future() .await .unwrap(); assert_eq!("text/plain", slug_attachment.attachment.content_type); @@ -163,7 +149,6 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { let resp_delete = attachment .delete() .consistency_level(&slug_attachment) - .into_future() .await?; // list attachments, there must be one. @@ -177,7 +162,7 @@ async fn attachment() -> Result<(), azure_data_cosmos::Error> { assert_eq!(1, ret.attachments.len()); // delete the database - database.delete_database().into_future().await?; + database.delete_database().await?; Ok(()) } diff --git a/sdk/data_cosmos/tests/collection_operations.rs b/sdk/data_cosmos/tests/collection_operations.rs index 53aa343afa..c635ba66da 100644 --- a/sdk/data_cosmos/tests/collection_operations.rs +++ b/sdk/data_cosmos/tests/collection_operations.rs @@ -15,7 +15,7 @@ async fn collection_operations() -> Result<(), BoxedError> { let client = setup::initialize("collection_operations")?; let database_name = "test-collection-operations"; - client.create_database(database_name).into_future().await?; + client.create_database(database_name).await?; // create collection! let database = client.database_client(database_name.clone()); @@ -23,10 +23,7 @@ async fn collection_operations() -> Result<(), BoxedError> { let collection_name = "sample_collection"; log::info!("Creating a collection with name '{}'...", collection_name); - let create_collection_response = database - .create_collection(collection_name, "/id") - .into_future() - .await?; + let create_collection_response = database.create_collection(collection_name, "/id").await?; assert_eq!(create_collection_response.collection.id, collection_name); @@ -39,7 +36,7 @@ async fn collection_operations() -> Result<(), BoxedError> { let collection = database.collection_client(collection_name); // get collection! - let get_collection_response = collection.get_collection().into_future().await?; + let get_collection_response = collection.get_collection().await?; assert_eq!(get_collection_response.collection.id, collection_name); @@ -75,7 +72,6 @@ async fn collection_operations() -> Result<(), BoxedError> { let replace_collection_response = collection .replace_collection("/id") .indexing_policy(new_indexing_policy) - .into_future() .await?; assert_eq!(replace_collection_response.collection.id, collection_name); @@ -104,7 +100,7 @@ async fn collection_operations() -> Result<(), BoxedError> { ); // delete collection! - let delete_collection_response = collection.delete_collection().into_future().await?; + let delete_collection_response = collection.delete_collection().await?; log::info!("Successfully deleted collection"); log::debug!( @@ -112,7 +108,7 @@ async fn collection_operations() -> Result<(), BoxedError> { delete_collection_response ); - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); Ok(()) } diff --git a/sdk/data_cosmos/tests/cosmos_collection.rs b/sdk/data_cosmos/tests/cosmos_collection.rs index 143d972837..d643dbb108 100644 --- a/sdk/data_cosmos/tests/cosmos_collection.rs +++ b/sdk/data_cosmos/tests/cosmos_collection.rs @@ -12,18 +12,13 @@ async fn create_and_delete_collection() { let client = setup::initialize().unwrap(); - client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); // create a new collection let collection = database .create_collection(COLLECTION_NAME, "/id") - .into_future() .await .unwrap(); let collections = Box::pin(database.list_collections().into_stream()) @@ -37,18 +32,14 @@ async fn create_and_delete_collection() { let rid = collection.collection.rid; let collection = database.collection_client(COLLECTION_NAME); - let collection_after_get = collection.get_collection().into_future().await.unwrap(); + let collection_after_get = collection.get_collection().await.unwrap(); assert!(rid == collection_after_get.collection.rid); // check GetPartitionKeyRanges: https://docs.microsoft.com/rest/api/cosmos-db/get-partition-key-ranges - collection - .get_partition_key_ranges() - .into_future() - .await - .unwrap(); + collection.get_partition_key_ranges().await.unwrap(); // delete the collection - collection.delete_collection().into_future().await.unwrap(); + collection.delete_collection().await.unwrap(); let collections = Box::pin(database.list_collections().into_stream()) .next() .await @@ -56,7 +47,7 @@ async fn create_and_delete_collection() { .unwrap(); assert!(collections.collections.len() == 0); - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } #[tokio::test] @@ -65,11 +56,7 @@ async fn replace_collection() { const DATABASE_NAME: &str = "test-cosmos-db"; const COLLECTION_NAME: &str = "test-collection"; - client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); @@ -85,7 +72,6 @@ async fn replace_collection() { .create_collection(COLLECTION_NAME, "/id") .offer(Offer::S2) .indexing_policy(indexing_policy) - .into_future() .await .unwrap(); @@ -127,7 +113,6 @@ async fn replace_collection() { .collection_client(COLLECTION_NAME) .replace_collection("/id") .indexing_policy(new_ip) - .into_future() .await .unwrap(); @@ -145,5 +130,5 @@ async fn replace_collection() { .collect(); assert!(eps.len() > 0); - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } diff --git a/sdk/data_cosmos/tests/cosmos_database.rs b/sdk/data_cosmos/tests/cosmos_database.rs index 292e7bd358..8adbc43c76 100644 --- a/sdk/data_cosmos/tests/cosmos_database.rs +++ b/sdk/data_cosmos/tests/cosmos_database.rs @@ -20,11 +20,7 @@ async fn create_and_delete_database() { let database_count_before = databases.databases.len(); // create a new database and check if the number of DBs increased - let database = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let database = client.create_database(DATABASE_NAME).await.unwrap(); let databases = Box::pin(client.list_databases().into_stream()) .next() @@ -38,7 +34,6 @@ async fn create_and_delete_database() { let database_after_get = client .database_client(DATABASE_NAME) .get_database() - .into_future() .await .unwrap(); assert!(database.database.rid == database_after_get.database.rid); @@ -47,7 +42,6 @@ async fn create_and_delete_database() { client .database_client(DATABASE_NAME) .delete_database() - .into_future() .await .unwrap(); diff --git a/sdk/data_cosmos/tests/cosmos_document.rs b/sdk/data_cosmos/tests/cosmos_document.rs index 47690989e3..fdd91276c3 100644 --- a/sdk/data_cosmos/tests/cosmos_document.rs +++ b/sdk/data_cosmos/tests/cosmos_document.rs @@ -30,11 +30,7 @@ async fn create_and_delete_document() { let client = setup::initialize().unwrap(); - client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); @@ -50,7 +46,6 @@ async fn create_and_delete_document() { .create_collection(COLLECTION_NAME, "/id") .offer(Offer::Throughput(400)) .indexing_policy(indexing_policy) - .into_future() .await .unwrap(); @@ -63,7 +58,6 @@ async fn create_and_delete_document() { }; collection .create_document(document_data.clone()) - .into_future() .await .unwrap(); @@ -82,11 +76,7 @@ async fn create_and_delete_document() { .document_client(DOCUMENT_NAME, &DOCUMENT_NAME) .unwrap(); - let document_after_get = document - .get_document() - .into_future::() - .await - .unwrap(); + let document_after_get = document.get_document::().await.unwrap(); if let GetDocumentResponse::Found(document) = document_after_get { assert_eq!(document.document.document, document_data); @@ -95,7 +85,7 @@ async fn create_and_delete_document() { } // delete document - document.delete_document().into_future().await.unwrap(); + document.delete_document().await.unwrap(); let documents = collection .list_documents() @@ -107,7 +97,7 @@ async fn create_and_delete_document() { .documents; assert!(documents.len() == 0); - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } #[tokio::test] @@ -118,11 +108,7 @@ async fn query_documents() { let client = setup::initialize().unwrap(); - client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); // create a new collection @@ -137,7 +123,6 @@ async fn query_documents() { .create_collection(COLLECTION_NAME, "/id") .indexing_policy(indexing_policy) .offer(Offer::S2) - .into_future() .await .unwrap(); @@ -150,7 +135,6 @@ async fn query_documents() { }; collection .create_document(document_data.clone()) - .into_future() .await .unwrap(); @@ -181,7 +165,7 @@ async fn query_documents() { assert!(query_result[0].document_attributes.rid() == documents[0].document_attributes.rid()); assert_eq!(query_result[0].result, document_data); - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } #[tokio::test] @@ -192,11 +176,7 @@ async fn replace_document() { let client = setup::initialize().unwrap(); - client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); // create a new collection @@ -211,7 +191,6 @@ async fn replace_document() { .create_collection(COLLECTION_NAME, "/id") .indexing_policy(indexing_policy) .offer(Offer::S2) - .into_future() .await .unwrap(); @@ -224,7 +203,6 @@ async fn replace_document() { }; collection .create_document(document_data.clone()) - .into_future() .await .unwrap(); @@ -250,7 +228,6 @@ async fn replace_document() { .etag() .to_string(), )) - .into_future() .await .unwrap(); @@ -258,11 +235,7 @@ async fn replace_document() { let document = collection .document_client(DOCUMENT_NAME, &DOCUMENT_NAME) .unwrap(); - let document_after_get = document - .get_document() - .into_future::() - .await - .unwrap(); + let document_after_get = document.get_document::().await.unwrap(); if let GetDocumentResponse::Found(document) = document_after_get { assert!(document.document.document.hello == 190); @@ -270,5 +243,5 @@ async fn replace_document() { panic!("document not found"); } - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } diff --git a/sdk/data_cosmos/tests/create_database_and_collection.rs b/sdk/data_cosmos/tests/create_database_and_collection.rs index 08ef8ddbe5..cfe5193991 100644 --- a/sdk/data_cosmos/tests/create_database_and_collection.rs +++ b/sdk/data_cosmos/tests/create_database_and_collection.rs @@ -17,7 +17,7 @@ async fn create_database_and_collection() -> Result<(), BoxedError> { // create database! log::info!("Creating a database with name '{}'...", database_name); - let db = client.create_database(&database_name).into_future().await?; + let db = client.create_database(&database_name).await?; log::info!("Successfully created a database"); log::debug!("The create_database response: {:#?}", db); @@ -27,10 +27,7 @@ async fn create_database_and_collection() -> Result<(), BoxedError> { let database = client.database_client(database_name.clone()); let collection_name = "panzadoro"; log::info!("Creating a collection with name '{}'...", collection_name); - let collection = database - .create_collection(collection_name, "/id") - .into_future() - .await?; + let collection = database.create_collection(collection_name, "/id").await?; assert_eq!(collection.collection.id, collection_name); log::info!("Successfully created a collection"); log::debug!("The create_collection response: {:#?}", collection); @@ -47,7 +44,7 @@ async fn create_database_and_collection() -> Result<(), BoxedError> { // delete database log::info!("Deleting the database..."); - let deleted_database = database.delete_database().into_future().await?; + let deleted_database = database.delete_database().await?; log::info!("Successfully deleted database"); log::debug!("The delete_database response: {:#?}", deleted_database); diff --git a/sdk/data_cosmos/tests/permission.rs b/sdk/data_cosmos/tests/permission.rs index e914b71f20..d254f4894c 100644 --- a/sdk/data_cosmos/tests/permission.rs +++ b/sdk/data_cosmos/tests/permission.rs @@ -16,24 +16,19 @@ async fn permissions() { let client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); // create two users let user1 = database.user_client(USER_NAME1); - let _create_user_response = user1.create_user().into_future().await.unwrap(); + let _create_user_response = user1.create_user().await.unwrap(); let user2 = database.user_client(USER_NAME2); - let _create_user_response = user2.create_user().into_future().await.unwrap(); + let _create_user_response = user2.create_user().await.unwrap(); // create a temp collection let create_collection_response = database .create_collection(COLLECTION_NAME, "/id") - .into_future() .await .unwrap(); @@ -44,14 +39,12 @@ async fn permissions() { let _create_permission_user1_response = permission_user1 .create_permission(create_collection_response.collection.all_permission()) .expiry_seconds(18000u64) // 5 hours, max! - .into_future() .await .unwrap(); let _create_permission_user2_response = permission_user2 .create_permission(create_collection_response.collection.read_permission()) .expiry_seconds(18000u64) // 5 hours, max! - .into_future() .await .unwrap(); @@ -74,5 +67,5 @@ async fn permissions() { assert_eq!(list_permissions_response.permissions.len(), 1); // delete the database - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } diff --git a/sdk/data_cosmos/tests/permission_token_usage.rs b/sdk/data_cosmos/tests/permission_token_usage.rs index c8fa2ea02a..457d48aca2 100644 --- a/sdk/data_cosmos/tests/permission_token_usage.rs +++ b/sdk/data_cosmos/tests/permission_token_usage.rs @@ -31,11 +31,7 @@ async fn permission_token_usage() { let mut client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); @@ -51,12 +47,11 @@ async fn permission_token_usage() { .create_collection(COLLECTION_NAME, "/id") .offer(Offer::Throughput(400)) .indexing_policy(indexing_policy) - .into_future() .await .unwrap(); let user = database.user_client(USER_NAME); - user.create_user().into_future().await.unwrap(); + user.create_user().await.unwrap(); // create the RO permission let permission = user.permission(PERMISSION); @@ -65,7 +60,6 @@ async fn permission_token_usage() { let create_permission_response = permission .create_permission(permission_mode) .expiry_seconds(18000u64) // 5 hours, max! - .into_future() .await .unwrap(); @@ -102,18 +96,16 @@ async fn permission_token_usage() { new_collection .create_document(document.clone()) .is_upsert(true) - .into_future() .await .unwrap_err(); - permission.delete_permission().into_future().await.unwrap(); + permission.delete_permission().await.unwrap(); // All includes read and write. let permission_mode = create_collection_response.collection.all_permission(); let create_permission_response = permission .create_permission(permission_mode) .expiry_seconds(18000u64) // 5 hours, max! - .into_future() .await .unwrap(); @@ -130,7 +122,6 @@ async fn permission_token_usage() { let create_document_response = new_collection .create_document(document) .is_upsert(true) - .into_future() .await .unwrap(); println!( @@ -139,5 +130,5 @@ async fn permission_token_usage() { ); // cleanup - database.delete_database().into_future().await.unwrap(); + database.delete_database().await.unwrap(); } diff --git a/sdk/data_cosmos/tests/trigger.rs b/sdk/data_cosmos/tests/trigger.rs index ba9de33353..f75bc85fc3 100644 --- a/sdk/data_cosmos/tests/trigger.rs +++ b/sdk/data_cosmos/tests/trigger.rs @@ -43,11 +43,7 @@ async fn trigger() -> Result<(), azure_data_cosmos::Error> { let client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); @@ -55,7 +51,6 @@ async fn trigger() -> Result<(), azure_data_cosmos::Error> { let _create_collection_response = { database .create_collection(COLLECTION_NAME, "/id") - .into_future() .await .unwrap() }; @@ -69,7 +64,6 @@ async fn trigger() -> Result<(), azure_data_cosmos::Error> { trigger::TriggerType::Post, trigger::TriggerOperation::All, ) - .into_future() .await?; let ret = trigger @@ -79,7 +73,6 @@ async fn trigger() -> Result<(), azure_data_cosmos::Error> { trigger::TriggerOperation::All, ) .consistency_level(ret) - .into_future() .await?; let mut last_session_token: Option = None; @@ -97,11 +90,10 @@ async fn trigger() -> Result<(), azure_data_cosmos::Error> { let _ret = trigger .delete_trigger() .consistency_level(last_session_token.unwrap()) - .into_future() .await?; // delete the database - database.delete_database().into_future().await?; + database.delete_database().await?; Ok(()) } diff --git a/sdk/data_cosmos/tests/user.rs b/sdk/data_cosmos/tests/user.rs index 1dd5da80ba..e0ae89b4e6 100644 --- a/sdk/data_cosmos/tests/user.rs +++ b/sdk/data_cosmos/tests/user.rs @@ -16,11 +16,7 @@ async fn users() { let client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let databases = Box::pin(client.list_databases().into_stream()) .next() @@ -31,7 +27,7 @@ async fn users() { let database = client.database_client(DATABASE_NAME); let user = database.user_client(USER_NAME); - let _create_user_response = user.create_user().into_future().await.unwrap(); + let _create_user_response = user.create_user().await.unwrap(); let list_users_response = Box::pin(database.list_users().into_stream()) .next() @@ -41,16 +37,12 @@ async fn users() { assert_eq!(list_users_response.users.len(), 1); - let get_user_response = user.get_user().into_future().await; + let get_user_response = user.get_user().await; assert!(get_user_response.is_ok()); let retrieved_user = get_user_response.unwrap(); assert_eq!(retrieved_user.user.id, USER_NAME); - let _replace_user_response = user - .replace_user(USER_NAME_REPLACED) - .into_future() - .await - .unwrap(); + let _replace_user_response = user.replace_user(USER_NAME_REPLACED).await.unwrap(); let list_users_response = Box::pin(database.list_users().into_stream()) .next() @@ -61,7 +53,7 @@ async fn users() { let user = database.user_client(USER_NAME_REPLACED); - let _delete_user_response = user.delete_user().into_future().await.unwrap(); + let _delete_user_response = user.delete_user().await.unwrap(); let list_users_response = Box::pin(database.list_users().into_stream()) .next() @@ -74,7 +66,6 @@ async fn users() { client .database_client(DATABASE_NAME) .delete_database() - .into_future() .await .unwrap(); diff --git a/sdk/data_cosmos/tests/user_defined_function00.rs b/sdk/data_cosmos/tests/user_defined_function00.rs index a205e3d736..8cf60ac56f 100644 --- a/sdk/data_cosmos/tests/user_defined_function00.rs +++ b/sdk/data_cosmos/tests/user_defined_function00.rs @@ -25,18 +25,13 @@ async fn user_defined_function00() -> Result<(), azure_data_cosmos::Error> { let client = setup::initialize().unwrap(); // create a temp database - let _create_database_response = client - .create_database(DATABASE_NAME) - .into_future() - .await - .unwrap(); + let _create_database_response = client.create_database(DATABASE_NAME).await.unwrap(); let database = client.database_client(DATABASE_NAME); // create a temp collection let _create_collection_response = database .create_collection(COLLECTION_NAME, "/id") - .into_future() .await .unwrap(); @@ -45,7 +40,6 @@ async fn user_defined_function00() -> Result<(), azure_data_cosmos::Error> { let ret = user_defined_function .create_user_defined_function("body") - .into_future() .await?; let stream = collection @@ -61,7 +55,6 @@ async fn user_defined_function00() -> Result<(), azure_data_cosmos::Error> { let ret = user_defined_function .replace_user_defined_function(FN_BODY) .consistency_level(&ret) - .into_future() .await?; let query_stmt = format!("SELECT udf.{}(100)", USER_DEFINED_FUNCTION_NAME); @@ -108,11 +101,10 @@ async fn user_defined_function00() -> Result<(), azure_data_cosmos::Error> { let _ret = user_defined_function .delete_user_defined_function() .consistency_level(&ret) - .into_future() .await?; // delete the database - database.delete_database().into_future().await?; + database.delete_database().await?; Ok(()) } diff --git a/sdk/iot_hub/src/service/requests/create_or_update_device_identity_builder.rs b/sdk/iot_hub/src/service/requests/create_or_update_device_identity_builder.rs index 399d3c817e..b92e0a591d 100644 --- a/sdk/iot_hub/src/service/requests/create_or_update_device_identity_builder.rs +++ b/sdk/iot_hub/src/service/requests/create_or_update_device_identity_builder.rs @@ -79,12 +79,11 @@ impl<'a> CreateOrUpdateDeviceIdentityBuilder<'a> { let body = azure_core::to_json(&body)?; let request = request.body(body)?; - Ok(self - .service_client + self.service_client .http_client() .execute_request_check_status(request, http::StatusCode::OK) .await? - .try_into()?) + .try_into() } } diff --git a/sdk/iot_hub/src/service/requests/create_or_update_module_identity_builder.rs b/sdk/iot_hub/src/service/requests/create_or_update_module_identity_builder.rs index d3fbde2ca9..ce709339d0 100644 --- a/sdk/iot_hub/src/service/requests/create_or_update_module_identity_builder.rs +++ b/sdk/iot_hub/src/service/requests/create_or_update_module_identity_builder.rs @@ -69,12 +69,11 @@ impl<'a> CreateOrUpdateModuleIdentityBuilder<'a> { let body = azure_core::to_json(&body)?; let request = request.body(body)?; - Ok(self - .service_client + self.service_client .http_client() .execute_request_check_status(request, http::StatusCode::OK) .await? - .try_into()?) + .try_into() } } diff --git a/sdk/iot_hub/src/service/requests/get_identity.rs b/sdk/iot_hub/src/service/requests/get_identity.rs index a329f668d1..609b85efae 100644 --- a/sdk/iot_hub/src/service/requests/get_identity.rs +++ b/sdk/iot_hub/src/service/requests/get_identity.rs @@ -28,9 +28,9 @@ where let request = service_client.prepare_request(&uri, Method::GET); let request = request.body(azure_core::EMPTY_BODY)?; - Ok(service_client + service_client .http_client() .execute_request_check_status(request, StatusCode::OK) .await? - .try_into()?) + .try_into() } diff --git a/sdk/iot_hub/src/service/requests/get_twin.rs b/sdk/iot_hub/src/service/requests/get_twin.rs index f5fb60b8d4..3ba2dd4a20 100644 --- a/sdk/iot_hub/src/service/requests/get_twin.rs +++ b/sdk/iot_hub/src/service/requests/get_twin.rs @@ -29,9 +29,9 @@ where let request = service_client.prepare_request(&uri, Method::GET); let request = request.body(azure_core::EMPTY_BODY)?; - Ok(service_client + service_client .http_client() .execute_request_check_status(request, StatusCode::OK) .await? - .try_into()?) + .try_into() } diff --git a/sdk/iot_hub/src/service/requests/invoke_method_builder.rs b/sdk/iot_hub/src/service/requests/invoke_method_builder.rs index 7411be3683..148a763f2d 100644 --- a/sdk/iot_hub/src/service/requests/invoke_method_builder.rs +++ b/sdk/iot_hub/src/service/requests/invoke_method_builder.rs @@ -85,12 +85,11 @@ impl<'a> InvokeMethodBuilder<'a> { let request = request.body(body)?; - Ok(self - .iot_hub_service + self.iot_hub_service .http_client() .execute_request_check_status(request, StatusCode::OK) .await? - .try_into()?) + .try_into() } } diff --git a/sdk/iot_hub/src/service/requests/query_builder.rs b/sdk/iot_hub/src/service/requests/query_builder.rs index 0fb3747ab7..9439a5c105 100644 --- a/sdk/iot_hub/src/service/requests/query_builder.rs +++ b/sdk/iot_hub/src/service/requests/query_builder.rs @@ -68,11 +68,10 @@ impl<'a, 'b> QueryBuilder<'a, 'b> { let request = azure_core::headers::add_mandatory_header(&self.max_item_count, request); let request = request.body(body)?; - Ok(self - .service_client + self.service_client .http_client() .execute_request_check_status(request, StatusCode::OK) .await? - .try_into()?) + .try_into() } } diff --git a/sdk/iot_hub/src/service/requests/update_or_replace_twin_builder.rs b/sdk/iot_hub/src/service/requests/update_or_replace_twin_builder.rs index 806b841da4..ee559c3ba8 100644 --- a/sdk/iot_hub/src/service/requests/update_or_replace_twin_builder.rs +++ b/sdk/iot_hub/src/service/requests/update_or_replace_twin_builder.rs @@ -156,12 +156,11 @@ where let request = request.body(body)?; - Ok(self - .service_client + self.service_client .http_client() .execute_request_check_status(request, StatusCode::OK) .await? - .try_into()?) + .try_into() } } diff --git a/sdk/security_keyvault/src/certificate.rs b/sdk/security_keyvault/src/certificate.rs index c2d896b931..65dcd7cfb1 100644 --- a/sdk/security_keyvault/src/certificate.rs +++ b/sdk/security_keyvault/src/certificate.rs @@ -169,7 +169,7 @@ impl<'a, T: TokenCredential> CertificateClient<'a, T> { /// Runtime::new().unwrap().block_on(example()); /// ``` pub async fn get_certificate(&mut self, name: &'a str) -> Result { - Ok(self.get_certificate_with_version(name, "").await?) + self.get_certificate_with_version(name, "").await } /// Gets a certificate from the Key Vault with a specific version. diff --git a/sdk/security_keyvault/src/secret.rs b/sdk/security_keyvault/src/secret.rs index a7c108309c..ecd426768c 100644 --- a/sdk/security_keyvault/src/secret.rs +++ b/sdk/security_keyvault/src/secret.rs @@ -116,7 +116,7 @@ impl<'a, T: TokenCredential> KeyClient<'a, T> { /// Runtime::new().unwrap().block_on(example()); /// ``` pub async fn get_secret(&mut self, secret_name: &str) -> Result { - Ok(self.get_secret_with_version(secret_name, "").await?) + self.get_secret_with_version(secret_name, "").await } /// Gets a secret from the Key Vault with a specific version.