mirror of
https://github.com/tokio-rs/axum.git
synced 2026-08-28 00:00:20 +02:00
Allow unreachable code in #[debug_handler] (#2014)
Co-authored-by: David Pedersen <[email protected]>
This commit is contained in:
co-authored by
David Pedersen
parent
40da647620
commit
68696b09b1
@@ -263,6 +263,7 @@ fn check_inputs_impls_from_request(item_fn: &ItemFn, state_ty: Type) -> TokenStr
|
|||||||
|
|
||||||
quote_spanned! {span=>
|
quote_spanned! {span=>
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
fn #check_fn #check_fn_generics()
|
fn #check_fn #check_fn_generics()
|
||||||
where
|
where
|
||||||
@@ -272,6 +273,7 @@ fn check_inputs_impls_from_request(item_fn: &ItemFn, state_ty: Type) -> TokenStr
|
|||||||
// we have to call the function to actually trigger a compile error
|
// we have to call the function to actually trigger a compile error
|
||||||
// since the function is generic, just defining it is not enough
|
// since the function is generic, just defining it is not enough
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
fn #call_check_fn()
|
fn #call_check_fn()
|
||||||
{
|
{
|
||||||
@@ -415,6 +417,7 @@ fn check_output_impls_into_response(item_fn: &ItemFn) -> TokenStream {
|
|||||||
let make = if item_fn.sig.asyncness.is_some() {
|
let make = if item_fn.sig.asyncness.is_some() {
|
||||||
quote_spanned! {span=>
|
quote_spanned! {span=>
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
async fn #make_value_name() -> #ty {
|
async fn #make_value_name() -> #ty {
|
||||||
#declare_inputs
|
#declare_inputs
|
||||||
@@ -424,6 +427,7 @@ fn check_output_impls_into_response(item_fn: &ItemFn) -> TokenStream {
|
|||||||
} else {
|
} else {
|
||||||
quote_spanned! {span=>
|
quote_spanned! {span=>
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
fn #make_value_name() -> #ty {
|
fn #make_value_name() -> #ty {
|
||||||
#declare_inputs
|
#declare_inputs
|
||||||
@@ -439,6 +443,7 @@ fn check_output_impls_into_response(item_fn: &ItemFn) -> TokenStream {
|
|||||||
#make
|
#make
|
||||||
|
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
async fn #name() {
|
async fn #name() {
|
||||||
let value = #receiver #make_value_name().await;
|
let value = #receiver #make_value_name().await;
|
||||||
@@ -451,6 +456,7 @@ fn check_output_impls_into_response(item_fn: &ItemFn) -> TokenStream {
|
|||||||
} else {
|
} else {
|
||||||
quote_spanned! {span=>
|
quote_spanned! {span=>
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
async fn #name() {
|
async fn #name() {
|
||||||
#make
|
#make
|
||||||
@@ -501,6 +507,7 @@ fn check_future_send(item_fn: &ItemFn) -> TokenStream {
|
|||||||
if let Some(receiver) = self_receiver(item_fn) {
|
if let Some(receiver) = self_receiver(item_fn) {
|
||||||
quote! {
|
quote! {
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
fn #name() {
|
fn #name() {
|
||||||
let future = #receiver #handler_name(#(#args),*);
|
let future = #receiver #handler_name(#(#args),*);
|
||||||
@@ -510,6 +517,7 @@ fn check_future_send(item_fn: &ItemFn) -> TokenStream {
|
|||||||
} else {
|
} else {
|
||||||
quote! {
|
quote! {
|
||||||
#[allow(warnings)]
|
#[allow(warnings)]
|
||||||
|
#[allow(unreachable_code)]
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
fn #name() {
|
fn #name() {
|
||||||
#item_fn
|
#item_fn
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#![deny(unreachable_code)]
|
||||||
|
|
||||||
|
use axum::extract::Path;
|
||||||
|
|
||||||
|
#[axum_macros::debug_handler]
|
||||||
|
async fn handler(Path(_): Path<String>) {}
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
Reference in New Issue
Block a user