From 1d6f8df731c78e6b120d56a817f39d86bf1660f5 Mon Sep 17 00:00:00 2001 From: Jonas Bushart Date: Fri, 7 Apr 2023 18:02:09 +0200 Subject: [PATCH] Replace `Default` returns with explicit panics for unknown enum variants --- core/src/usage/lifetimes.rs | 9 ++++++--- core/src/usage/type_params.rs | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/core/src/usage/lifetimes.rs b/core/src/usage/lifetimes.rs index 921debe..b7124aa 100644 --- a/core/src/usage/lifetimes.rs +++ b/core/src/usage/lifetimes.rs @@ -247,7 +247,8 @@ impl UsesLifetimes for syn::WherePredicate { syn::WherePredicate::Type(ref v) => v.uses_lifetimes(options, lifetimes), syn::WherePredicate::Lifetime(ref v) => v.uses_lifetimes(options, lifetimes), // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::WherePredicate: {:?}", self), } } } @@ -267,7 +268,8 @@ impl UsesLifetimes for syn::GenericArgument { Default::default() } // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::GenericArgument: {:?}", self), } } } @@ -296,7 +298,8 @@ impl UsesLifetimes for syn::TypeParamBound { syn::TypeParamBound::Trait(ref v) => v.uses_lifetimes(options, lifetimes), syn::TypeParamBound::Lifetime(ref v) => v.uses_lifetimes(options, lifetimes), // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::TypeParamBound: {:?}", self), } } } diff --git a/core/src/usage/type_params.rs b/core/src/usage/type_params.rs index 74967ae..d4e7e79 100644 --- a/core/src/usage/type_params.rs +++ b/core/src/usage/type_params.rs @@ -217,7 +217,8 @@ impl UsesTypeParams for syn::WherePredicate { syn::WherePredicate::Lifetime(_) => Default::default(), syn::WherePredicate::Type(ref v) => v.uses_type_params(options, type_set), // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::WherePredicate: {:?}", self), } } } @@ -232,7 +233,8 @@ impl UsesTypeParams for syn::GenericArgument { | syn::GenericArgument::Const(_) | syn::GenericArgument::Lifetime(_) => Default::default(), // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::GenericArgument: {:?}", self), } } } @@ -243,7 +245,8 @@ impl UsesTypeParams for syn::TypeParamBound { syn::TypeParamBound::Trait(ref v) => v.uses_type_params(options, type_set), syn::TypeParamBound::Lifetime(_) => Default::default(), // non-exhaustive enum - _ => Default::default(), + // TODO: replace panic with failible function + _ => panic!("Unknown syn::TypeParamBound: {:?}", self), } } }