Use Span::mixed_site to avoid let unit warnings.

Closes #2568.
This commit is contained in:
许杰友 Jieyou Xu (Joe) 2023-07-30 21:32:05 +08:00 committed by Sergio Benitez
parent ac01e55e8b
commit 07fe79796f
7 changed files with 20 additions and 15 deletions

View File

@ -242,7 +242,7 @@ fn responder_outcome_expr(route: &Route) -> TokenStream {
.map(|a| quote_spanned!(a.span() => .await));
define_spanned_export!(ret_span => __req, _route);
quote_spanned! { ret_span =>
quote_spanned! { Span::mixed_site().located_at(ret_span) =>
let ___responder = #user_handler_fn_name(#(#parameter_names),*) #_await;
#_route::Outcome::from(#__req, ___responder)
}

View File

@ -149,10 +149,9 @@ error[E0308]: mismatched types
--> tests/ui-fail-nightly/async-entry.rs:24:21
|
24 | async fn main() {
| ^
| |
| _____________________expected `()` because of default return type
| |
| ____________________-^
| | |
| | expected `()` because of default return type
25 | | rocket::build()
26 | | }
| | ^- help: consider using a semicolon here: `;`

View File

@ -104,6 +104,8 @@ note: required by a bound in `rocket::Response::<'r>::set_header`
error[E0277]: the trait bound `usize: Responder<'_, '_>` is not satisfied
--> tests/ui-fail-nightly/responder-types.rs:28:13
|
27 | #[get("/")]
| ----------- in this procedural macro expansion
28 | fn foo() -> usize { 0 }
| ^^^^^ the trait `Responder<'_, '_>` is not implemented for `usize`
|
@ -122,3 +124,4 @@ note: required by a bound in `route::handler::<impl Outcome<rocket::Response<'o>
|
| pub fn from<R: Responder<'r, 'o>>(req: &'r Request<'_>, responder: R) -> Outcome<'r> {
| ^^^^^^^^^^^^^^^^^ required by this bound in `route::handler::<impl Outcome<Response<'o>, Status, (Data<'o>, Status)>>::from`
= note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)

View File

@ -107,6 +107,14 @@ error[E0728]: `await` is only allowed inside `async` functions and blocks
73 | let _ = rocket::build().launch().await;
| ^^^^^ only allowed inside `async` functions and blocks
error[E0277]: `main` has invalid return type `Rocket<Build>`
--> tests/ui-fail-stable/async-entry.rs:94:20
|
94 | async fn main() -> rocket::Rocket<rocket::Build> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` can only return types that implement `Termination`
|
= help: consider using `()`, or a `Result`
error[E0308]: mismatched types
--> tests/ui-fail-stable/async-entry.rs:35:9
|
@ -165,11 +173,3 @@ error[E0308]: mismatched types
|
= note: expected struct `Rocket<Build>`
found struct `std::string::String`
error[E0277]: `main` has invalid return type `Rocket<Build>`
--> tests/ui-fail-stable/async-entry.rs:94:20
|
94 | async fn main() -> rocket::Rocket<rocket::Build> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` can only return types that implement `Termination`
|
= help: consider using `()`, or a `Result`

View File

@ -67,7 +67,7 @@ note: function defined here
|
30 | fn f3(_request: &Request, other: bool) { }
| ^^ ------------------ -----------
help: did you mean
help: provide the argument
|
29 | f3(bool, /* bool */)
|

View File

@ -104,6 +104,8 @@ note: required by a bound in `rocket::Response::<'r>::set_header`
error[E0277]: the trait bound `usize: Responder<'_, '_>` is not satisfied
--> tests/ui-fail-stable/responder-types.rs:28:13
|
27 | #[get("/")]
| ----------- in this procedural macro expansion
28 | fn foo() -> usize { 0 }
| ^^^^^ the trait `Responder<'_, '_>` is not implemented for `usize`
|
@ -122,3 +124,4 @@ note: required by a bound in `route::handler::<impl Outcome<rocket::Response<'o>
|
| pub fn from<R: Responder<'r, 'o>>(req: &'r Request<'_>, responder: R) -> Outcome<'r> {
| ^^^^^^^^^^^^^^^^^ required by this bound in `route::handler::<impl Outcome<Response<'o>, Status, (Data<'o>, Status)>>::from`
= note: this error originates in the attribute macro `get` (in Nightly builds, run with -Z macro-backtrace for more info)

View File

@ -74,8 +74,8 @@ error[E0277]: the trait bound `Q: FromData<'_>` is not satisfied
Cow<'_, str>
Capped<Cow<'_, str>>
Capped<Vec<u8>>
Capped<std::string::String>
Capped<TempFile<'_>>
Capped<std::string::String>
Capped<&'r str>
Capped<&'r RawStr>
and $N others