From 0b5dd42facb8f34da578afb11870e6f4e674708a Mon Sep 17 00:00:00 2001 From: hkalbasi Date: Fri, 22 Apr 2022 19:22:18 +0430 Subject: [PATCH] Add some comments about why never!() never happens --- crates/hir_ty/src/lower.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/hir_ty/src/lower.rs b/crates/hir_ty/src/lower.rs index 427791afa2c7..29bf16d23fea 100644 --- a/crates/hir_ty/src/lower.rs +++ b/crates/hir_ty/src/lower.rs @@ -749,7 +749,8 @@ impl<'a> TyLoweringContext<'a> { had_explicit_args = true; substs.push(x); } else { - never!(); + // we just filtered them out + never!("Unexpected lifetime argument"); } } } @@ -1673,6 +1674,10 @@ pub(crate) fn lower_to_chalk_mutability(m: hir_def::type_ref::Mutability) -> Mut } } +/// Checks if the provided generic arg matches its expected kind, then lower them via +/// provided closures. Use unknown if there was kind mismatch. +/// +/// Returns `Some` of the lowered generic arg. `None` if the provided arg is a lifetime. pub(crate) fn generic_arg_to_chalk<'a, T>( db: &dyn HirDatabase, kind_id: Either,