Skip to content

Commit bac4981

Browse files
committed
rustfmt modules included with if_feature! macro
rustfmt has a known limitation (rust-lang/rustfmt#3253) that modules declared inside macros are not processed when using 'cargo fmt'. So instead, let's brute-force 'find' all applicable rust sources and call rustfmt directly.
1 parent 065470e commit bac4981

File tree

3 files changed

+53
-42
lines changed

3 files changed

+53
-42
lines changed

.github/workflows/cargo-test.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ jobs:
2020
2121
- name: Run rustfmt
2222
run: |
23-
echo "// empty module for rustfmt" > tests/generated.rs
24-
rustup run nightly cargo fmt --check
25-
rm tests/generated.rs
23+
find . -path ./src/generated -prune -o -name '*.rs' -print | xargs rustup run nightly rustfmt --edition 2021 --check
2624
2725
- name: Set up Python
2826
uses: actions/[email protected]

src/default_async_client.rs

+27-18
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@
1010
//! This code (and its dependencies) are only built if you use the `default_async_client` Cargo
1111
//! feature.
1212
13-
use std::future::{Future, ready};
14-
use std::str::FromStr;
15-
use std::sync::Arc;
16-
use bytes::Bytes;
17-
use futures::{FutureExt, TryFutureExt, TryStreamExt};
18-
use crate::async_client_trait::{AppAuthClient, HttpClient, HttpRequest, HttpRequestResultRaw,
19-
NoauthClient, TeamAuthClient, TeamSelect, UserAuthClient};
13+
use crate::async_client_trait::{
14+
AppAuthClient, HttpClient, HttpRequest, HttpRequestResultRaw, NoauthClient, TeamAuthClient,
15+
TeamSelect, UserAuthClient,
16+
};
2017
use crate::default_client_common::impl_set_path_root;
21-
use crate::Error;
2218
use crate::oauth2::{Authorization, TokenCache};
19+
use crate::Error;
20+
use bytes::Bytes;
21+
use futures::{FutureExt, TryFutureExt, TryStreamExt};
22+
use std::future::{ready, Future};
23+
use std::str::FromStr;
24+
use std::sync::Arc;
2325

2426
macro_rules! impl_update_token {
2527
($self:ident) => {
@@ -76,7 +78,7 @@ impl HttpClient for UserAuthDefaultClient {
7678
&self,
7779
request: Self::Request,
7880
body: Bytes,
79-
) -> impl Future<Output=Result<HttpRequestResultRaw, Error>> + Send {
81+
) -> impl Future<Output = Result<HttpRequestResultRaw, Error>> + Send {
8082
self.inner.execute(request, body)
8183
}
8284

@@ -131,7 +133,7 @@ impl HttpClient for TeamAuthDefaultClient {
131133
&self,
132134
request: Self::Request,
133135
body: Bytes,
134-
) -> impl Future<Output=Result<HttpRequestResultRaw, Error>> + Send {
136+
) -> impl Future<Output = Result<HttpRequestResultRaw, Error>> + Send {
135137
self.inner.execute(request, body)
136138
}
137139

@@ -182,12 +184,17 @@ impl AppAuthDefaultClient {
182184
impl HttpClient for AppAuthDefaultClient {
183185
type Request = ReqwestRequest;
184186

185-
fn execute(&self, request: Self::Request, body: Bytes) -> impl Future<Output=Result<HttpRequestResultRaw, Error>> + Send {
187+
fn execute(
188+
&self,
189+
request: Self::Request,
190+
body: Bytes,
191+
) -> impl Future<Output = Result<HttpRequestResultRaw, Error>> + Send {
186192
self.inner.execute(request, body)
187193
}
188194

189195
fn new_request(&self, url: &str) -> Self::Request {
190-
self.inner.new_request(url)
196+
self.inner
197+
.new_request(url)
191198
.set_header("Authorization", &self.auth)
192199
}
193200
}
@@ -212,7 +219,7 @@ impl HttpClient for NoauthDefaultClient {
212219
&self,
213220
request: Self::Request,
214221
body: Bytes,
215-
) -> impl Future<Output=Result<HttpRequestResultRaw, Error>> + Send {
222+
) -> impl Future<Output = Result<HttpRequestResultRaw, Error>> + Send {
216223
self.inner.execute(request, body)
217224
}
218225

@@ -240,7 +247,7 @@ impl HttpClient for TokenUpdateClient<'_> {
240247
&self,
241248
request: Self::Request,
242249
body: Bytes,
243-
) -> impl Future<Output=Result<HttpRequestResultRaw, Error>> + Send {
250+
) -> impl Future<Output = Result<HttpRequestResultRaw, Error>> + Send {
244251
self.inner.execute(request, body)
245252
}
246253

@@ -263,7 +270,7 @@ impl Default for ReqwestClient {
263270
.https_only(true)
264271
.http2_prior_knowledge()
265272
.build()
266-
.unwrap()
273+
.unwrap(),
267274
}
268275
}
269276
}
@@ -290,7 +297,8 @@ impl HttpClient for ReqwestClient {
290297
if !body.is_empty() {
291298
*req.body_mut() = Some(reqwest::Body::from(body));
292299
}
293-
self.inner.execute(req)
300+
self.inner
301+
.execute(req)
294302
.map_ok_or_else(
295303
|e| Err(Error::HttpClient(Box::new(e))),
296304
|resp| {
@@ -317,7 +325,8 @@ impl HttpClient for ReqwestClient {
317325
})
318326
.transpose()?;
319327

320-
let body = resp.bytes_stream()
328+
let body = resp
329+
.bytes_stream()
321330
.map_err(|e| futures::io::Error::new(futures::io::ErrorKind::Other, e))
322331
.into_async_read();
323332

@@ -327,7 +336,7 @@ impl HttpClient for ReqwestClient {
327336
content_length,
328337
body: Box::new(body),
329338
})
330-
}
339+
},
331340
)
332341
.boxed()
333342
}

src/default_client.rs

+25-21
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@
1111
//!
1212
//! This code (and its dependencies) are only built if you use the `default_client` Cargo feature.
1313
14-
use crate::Error;
14+
use crate::client_trait::{
15+
AppAuthClient, HttpClient, HttpRequest, HttpRequestResultRaw, NoauthClient, TeamAuthClient,
16+
TeamSelect, UserAuthClient,
17+
};
18+
use crate::default_client_common::impl_set_path_root;
1519
use crate::oauth2::{Authorization, TokenCache};
20+
use crate::Error;
21+
use futures::FutureExt;
1622
use std::borrow::Cow;
1723
use std::fmt::Write;
1824
use std::str::FromStr;
1925
use std::sync::Arc;
20-
use futures::FutureExt;
21-
use crate::client_trait::{AppAuthClient, HttpClient, HttpRequest, HttpRequestResultRaw,
22-
NoauthClient, TeamAuthClient, TeamSelect, UserAuthClient};
23-
use crate::default_client_common::impl_set_path_root;
2426

2527
macro_rules! impl_update_token {
2628
($self:ident) => {
@@ -176,7 +178,8 @@ impl HttpClient for AppAuthDefaultClient {
176178
}
177179

178180
fn new_request(&self, url: &str) -> Self::Request {
179-
self.inner.new_request(url)
181+
self.inner
182+
.new_request(url)
180183
.set_header("Authorization", &self.auth)
181184
}
182185
}
@@ -256,24 +259,21 @@ impl HttpClient for UreqClient {
256259
};
257260

258261
let (status, resp) = match resp {
259-
Ok(resp) => {
260-
(resp.status(), resp)
261-
}
262-
Err(ureq::Error::Status(status, resp)) => {
263-
(status, resp)
264-
}
262+
Ok(resp) => (resp.status(), resp),
263+
Err(ureq::Error::Status(status, resp)) => (status, resp),
265264
Err(e @ ureq::Error::Transport(_)) => {
266265
return Err(RequestError { inner: e }.into());
267266
}
268267
};
269268

270269
let result_header = resp.header("Dropbox-API-Result").map(String::from);
271270

272-
let content_length = resp.header("Content-Length")
271+
let content_length = resp
272+
.header("Content-Length")
273273
.map(|s| {
274-
u64::from_str(s)
275-
.map_err(|e| Error::UnexpectedResponse(
276-
format!("invalid Content-Length {s:?}: {e}")))
274+
u64::from_str(s).map_err(|e| {
275+
Error::UnexpectedResponse(format!("invalid Content-Length {s:?}: {e}"))
276+
})
277277
})
278278
.transpose()?;
279279

@@ -335,7 +335,7 @@ macro_rules! wrap_error {
335335
Self::HttpClient(Box::new(DefaultClientError::from(e)))
336336
}
337337
}
338-
}
338+
};
339339
}
340340

341341
wrap_error!(std::io::Error);
@@ -403,13 +403,17 @@ mod test {
403403
assert_eq!(Cow::Borrowed("foobar"), json_escape_header("foobar"));
404404
assert_eq!(
405405
Cow::<'_, str>::Owned("tro\\u0161kovi".to_owned()),
406-
json_escape_header("troškovi"));
406+
json_escape_header("troškovi")
407+
);
407408
assert_eq!(
408409
Cow::<'_, str>::Owned(
409-
r#"{"field": "some_\u00fc\u00f1\u00eec\u00f8d\u00e9_and_\u007f"}"#.to_owned()),
410-
json_escape_header("{\"field\": \"some_üñîcødé_and_\x7f\"}"));
410+
r#"{"field": "some_\u00fc\u00f1\u00eec\u00f8d\u00e9_and_\u007f"}"#.to_owned()
411+
),
412+
json_escape_header("{\"field\": \"some_üñîcødé_and_\x7f\"}")
413+
);
411414
assert_eq!(
412415
Cow::<'_, str>::Owned("almost,\\u007f but not quite".to_owned()),
413-
json_escape_header("almost,\x7f but not quite"));
416+
json_escape_header("almost,\x7f but not quite")
417+
);
414418
}
415419
}

0 commit comments

Comments
 (0)