diff --git a/progenitor-impl/src/lib.rs b/progenitor-impl/src/lib.rs index 62a3845..b59e256 100644 --- a/progenitor-impl/src/lib.rs +++ b/progenitor-impl/src/lib.rs @@ -350,9 +350,13 @@ impl Generator { let version_str = &spec.info.version; + // The allow(unused_imports) on the `pub use` is necessary with Rust 1.76+, in case the + // generated file is not at the top level of the crate. + let file = quote! { // Re-export ResponseValue and Error since those are used by the // public interface of Client. + #[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; @@ -456,6 +460,10 @@ impl Generator { .iter() .map(|method| self.positional_method(method)) .collect::>>()?; + + // The allow(unused_imports) on the `pub use` is necessary with Rust 1.76+, in case the + // generated file is not at the top level of the crate. + let out = quote! { #[allow(clippy::all)] impl Client { @@ -464,6 +472,7 @@ impl Generator { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } }; @@ -529,6 +538,9 @@ impl Generator { let (traits_and_impls, trait_preludes) = self.builder_tags(input_methods, &tag_info); + // The allow(unused_imports) on the `pub use` is necessary with Rust 1.76+, in case the + // generated file is not at the top level of the crate. + let out = quote! { #traits_and_impls @@ -553,6 +565,7 @@ impl Generator { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; #trait_preludes } diff --git a/progenitor-impl/tests/output/src/buildomat_builder.rs b/progenitor-impl/tests/output/src/buildomat_builder.rs index a7294f4..c42c730 100644 --- a/progenitor-impl/tests/output/src/buildomat_builder.rs +++ b/progenitor-impl/tests/output/src/buildomat_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/buildomat_builder_tagged.rs b/progenitor-impl/tests/output/src/buildomat_builder_tagged.rs index 2076b5d..0759090 100644 --- a/progenitor-impl/tests/output/src/buildomat_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/buildomat_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -3405,5 +3406,6 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/buildomat_positional.rs b/progenitor-impl/tests/output/src/buildomat_positional.rs index 4699093..55f2307 100644 --- a/progenitor-impl/tests/output/src/buildomat_positional.rs +++ b/progenitor-impl/tests/output/src/buildomat_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -1259,5 +1260,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/keeper_builder.rs b/progenitor-impl/tests/output/src/keeper_builder.rs index 27f24db..908298f 100644 --- a/progenitor-impl/tests/output/src/keeper_builder.rs +++ b/progenitor-impl/tests/output/src/keeper_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/keeper_builder_tagged.rs b/progenitor-impl/tests/output/src/keeper_builder_tagged.rs index 8039c9b..6e4dffe 100644 --- a/progenitor-impl/tests/output/src/keeper_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/keeper_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -1821,5 +1822,6 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/keeper_positional.rs b/progenitor-impl/tests/output/src/keeper_positional.rs index 28ddbeb..9b63f81 100644 --- a/progenitor-impl/tests/output/src/keeper_positional.rs +++ b/progenitor-impl/tests/output/src/keeper_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -696,5 +697,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/nexus_builder.rs b/progenitor-impl/tests/output/src/nexus_builder.rs index f695f5f..df81a2d 100644 --- a/progenitor-impl/tests/output/src/nexus_builder.rs +++ b/progenitor-impl/tests/output/src/nexus_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/nexus_builder_tagged.rs b/progenitor-impl/tests/output/src/nexus_builder_tagged.rs index da68032..a4016b6 100644 --- a/progenitor-impl/tests/output/src/nexus_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/nexus_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -48973,6 +48974,7 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; pub use super::ClientDisksExt; pub use super::ClientHiddenExt; diff --git a/progenitor-impl/tests/output/src/nexus_positional.rs b/progenitor-impl/tests/output/src/nexus_positional.rs index 9ec2a06..6f19d35 100644 --- a/progenitor-impl/tests/output/src/nexus_positional.rs +++ b/progenitor-impl/tests/output/src/nexus_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -24114,5 +24115,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/param_collision_builder.rs b/progenitor-impl/tests/output/src/param_collision_builder.rs index 1336bfd..b79b3ee 100644 --- a/progenitor-impl/tests/output/src/param_collision_builder.rs +++ b/progenitor-impl/tests/output/src/param_collision_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/param_collision_builder_tagged.rs b/progenitor-impl/tests/output/src/param_collision_builder_tagged.rs index 420df71..c32e270 100644 --- a/progenitor-impl/tests/output/src/param_collision_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/param_collision_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -268,5 +269,6 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/param_collision_positional.rs b/progenitor-impl/tests/output/src/param_collision_positional.rs index d141ec8..3599c21 100644 --- a/progenitor-impl/tests/output/src/param_collision_positional.rs +++ b/progenitor-impl/tests/output/src/param_collision_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -144,5 +145,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/param_overrides_builder.rs b/progenitor-impl/tests/output/src/param_overrides_builder.rs index a568826..97af623 100644 --- a/progenitor-impl/tests/output/src/param_overrides_builder.rs +++ b/progenitor-impl/tests/output/src/param_overrides_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/param_overrides_builder_tagged.rs b/progenitor-impl/tests/output/src/param_overrides_builder_tagged.rs index f9f868a..b40de58 100644 --- a/progenitor-impl/tests/output/src/param_overrides_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/param_overrides_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -205,5 +206,6 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/param_overrides_positional.rs b/progenitor-impl/tests/output/src/param_overrides_positional.rs index c679102..905fb7e 100644 --- a/progenitor-impl/tests/output/src/param_overrides_positional.rs +++ b/progenitor-impl/tests/output/src/param_overrides_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -141,5 +142,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/propolis_server_builder.rs b/progenitor-impl/tests/output/src/propolis_server_builder.rs index b76817f..498706c 100644 --- a/progenitor-impl/tests/output/src/propolis_server_builder.rs +++ b/progenitor-impl/tests/output/src/propolis_server_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/propolis_server_builder_tagged.rs b/progenitor-impl/tests/output/src/propolis_server_builder_tagged.rs index 88a5d51..d95a91c 100644 --- a/progenitor-impl/tests/output/src/propolis_server_builder_tagged.rs +++ b/progenitor-impl/tests/output/src/propolis_server_builder_tagged.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -3407,5 +3408,6 @@ pub mod builder { /// Items consumers will typically use such as the Client and /// extension traits. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/propolis_server_positional.rs b/progenitor-impl/tests/output/src/propolis_server_positional.rs index 72f4494..8d7f3a6 100644 --- a/progenitor-impl/tests/output/src/propolis_server_positional.rs +++ b/progenitor-impl/tests/output/src/propolis_server_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -1703,5 +1704,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/test_default_params_builder.rs b/progenitor-impl/tests/output/src/test_default_params_builder.rs index cffc45d..5b34736 100644 --- a/progenitor-impl/tests/output/src/test_default_params_builder.rs +++ b/progenitor-impl/tests/output/src/test_default_params_builder.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; diff --git a/progenitor-impl/tests/output/src/test_default_params_positional.rs b/progenitor-impl/tests/output/src/test_default_params_positional.rs index 07e3664..2b8e6fe 100644 --- a/progenitor-impl/tests/output/src/test_default_params_positional.rs +++ b/progenitor-impl/tests/output/src/test_default_params_positional.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -228,5 +229,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/test_freeform_response.rs b/progenitor-impl/tests/output/src/test_freeform_response.rs index 20056b5..d3b053b 100644 --- a/progenitor-impl/tests/output/src/test_freeform_response.rs +++ b/progenitor-impl/tests/output/src/test_freeform_response.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -160,5 +161,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; } diff --git a/progenitor-impl/tests/output/src/test_renamed_parameters.rs b/progenitor-impl/tests/output/src/test_renamed_parameters.rs index 2715847..feb3b08 100644 --- a/progenitor-impl/tests/output/src/test_renamed_parameters.rs +++ b/progenitor-impl/tests/output/src/test_renamed_parameters.rs @@ -1,5 +1,6 @@ #[allow(unused_imports)] use progenitor_client::{encode_path, RequestBuilderExt}; +#[allow(unused_imports)] pub use progenitor_client::{ByteStream, Error, ResponseValue}; #[allow(unused_imports)] use reqwest::header::{HeaderMap, HeaderValue}; @@ -190,5 +191,6 @@ impl Client { /// Items consumers will typically use such as the Client. pub mod prelude { + #[allow(unused_imports)] pub use super::Client; }